Internationalisation audio et vidéo

Bonjour à  tous,


 


Pourriez-vous m'aider sur le sujet suivant?:


 


J'ai une application iOS (Objective-C) (target min: 8.0) qui permet de consulter des informations sur des livres et documents.


Pour chaque document j'ai une page de détail avec un visuel, un texte, un fichier audio et une vidéo associée.


Mon but est de pouvoir internationaliser mon application en anglais et français.


L'internationalisation est OK pour les textes mais je ne vois pas comment gérer cela pour l'audio et la vidéo.


 


J'aimerai pouvoir uploader une application sur le store et que seuls des contenus en anglais se téléchargent en même temps si le smartphone est en anglais et que les contenus (audio et vidéo) en français se téléchargent sur un smartphone français dans le but d'éviter d'alourdir le poids de l'application au téléchargement.


 


Quelle est selon vous la meilleure stratégie à  adopter pour cela?


Est-il possible d'avoir sur le store un bundle d'app + deux bundles d'assets (un par langue) qui se cumulent en fonction de la langue du device?


 


Merci par avance pour vos réponses.


 


Mots clés:

Réponses

  • Si tes vidéos/audio sont embarquées, il te suffit de les mettre dans les dossiers associés (en.lproj pour l'anglais, fr.lproj pour le français)...




  • Si tes vidéos/audio sont embarquées, il te suffit de les mettre dans les dossiers associés (en.lproj pour l'anglais, fr.lproj pour le français)...




     


    Merci pour ta réponse.


    Donc tu me confirmes que même si tout est embarqué, l'utilisateur ne téléchargera pas tout les contenus mais uniquement ceux correspondant à  la langue de son device? 


     


    Encore merci!

  • Ah non je n'avais pas compris ta question ; tu veux dire au niveau de la taille de l'application sur son device ?
  • CéroceCéroce Membre, Modérateur
    Quand tu traduis les texte de l'application, tu y stockes déjà  des informations inutiles: les textes anglais pour un francophone, les textes français pour un anglophone.

    Je vois trois tactiques:
    - faire du streaming pour les contenus audio et vidéo. Tu peux te contenter de mettre les URL en dur dans Localized.string. Avantages: facile, ne prend pas de place sur l'iPhone. Inconvénients: nécessite une connexion Internet. Bouffe du forfait.

    - télécharger les fichiers en local. Avantages: disponibles hors-connexion. Inconvénients: plus difficile à  mettre en oe“uvre, prend de la place.

    - utiliser les "on-demande Resources", à  partir d'iOS 9. https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/


  • Quand tu traduis les texte de l'application, tu y stockes déjà  des informations inutiles: les textes anglais pour un francophone, les textes français pour un anglophone.


    Je vois trois tactiques:

    - faire du streaming pour les contenus audio et vidéo. Tu peux te contenter de mettre les URL en dur dans Localized.string. Avantages: facile, ne prend pas de place sur l'iPhone. Inconvénients: nécessite une connexion Internet. Bouffe du forfait.


    - télécharger les fichiers en local. Avantages: disponibles hors-connexion. Inconvénients: plus difficile à  mettre en oe“uvre, prend de la place.


    - utiliser les "on-demande Resources", à  partir d'iOS 9. https://developer.apple.com/library/ios/documentation/FileManagement/Conceptual/On_Demand_Resources_Guide/




     


    Merci également pour ta réponse.


    La première solution pour moi est inenvisageable car l'application sera utilisée dans des endroits avec peu de réseau parfois.


    La deuxième est celle que j'envisage et la question que je me posais était sur la taille de l'application. En effet, cela ne me dérange pas de télécharger des audios et vidéos en même temps que l'app elle même à  condition que je ne fasse pas télécharger deux audios et deux vidéos à  chaque fois (anglais et français) au lieu d'une seule.


    La dernière solution semble évidemment la meilleure mais je dois être compatible iOS 8...



  • Ah non je n'avais pas compris ta question ; tu veux dire au niveau de la taille de l'application sur son device ?




    Oui exactement, est-ce que l'application sur le store téléchargera tous les contenus dans toutes les langues ou uniquement le contenu du répertoire en.lproj ou fr.lproj?

  • Je pense que tout est chargé car rien ne t'empêche de changer la langue de ton device après et alors ça ne fonctionnerait plus...
  • CéroceCéroce Membre, Modérateur

    La deuxième est celle que j'envisage et la question que je me posais était sur la taille de l'application. En effet, cela ne me dérange pas de télécharger des audios et vidéos en même temps que l'app elle même à  condition que je ne fasse pas télécharger deux audios et deux vidéos à  chaque fois (anglais et français) au lieu d'une seule.

    Tu ne m'as pas compris: les fichiers ne sont pas téléchargés en même temps que l'appli. C'est quand l'appli se lance qu'elle va télécharger les fichiers et les stocker dans son répertoire "Documents". C'est TON code qui fait ça. Elle ne va donc télécharger les fichiers que pour la langue courante.


  • Tu ne m'as pas compris: les fichiers ne sont pas téléchargés en même temps que l'appli. C'est quand l'appli se lance qu'elle va télécharger les fichiers et les stocker dans son répertoire "Documents". C'est TON code qui fait ça. Elle ne va donc télécharger les fichiers que pour la langue courante.




     


    Donc avec le principe des répertoires internationalisés en.lproj et fr.lproj? Ou je me trompe...

  • En résumé je me demande si le store permet de détecter automatiquement la langue et ainsi proposer soit le fr.lproj soit le en.lproj sans développement de ma part (comme le fait un peu Android non?)




  • Tu ne m'as pas compris: les fichiers ne sont pas téléchargés en même temps que l'appli. C'est quand l'appli se lance qu'elle va télécharger les fichiers et les stocker dans son répertoire "Documents". C'est TON code qui fait ça. Elle ne va donc télécharger les fichiers que pour la langue courante.




     


    Je ne suis pas sure de comprendre le problème de NSMaxime, si c'est un problème de taille de l'application sur le device, ou si c'est une question de performance lors de l'exécution. Quoi qu'il en soit, je crois que les ressources sont toutes inclues dans le binaire de l'application, donc sur l'appareil. Par contre, au moment de l'exécution, seules sont utilisées les ressources de la langue courante de l'appareil... Ou je me trompe ?



  • Je ne suis pas sure de comprendre le problème de NSMaxime, si c'est un problème de taille de l'application sur le device, ou si c'est une question de performance lors de l'exécution. Quoi qu'il en soit, je crois que les ressources sont toutes inclues dans le binaire de l'application, donc sur l'appareil. Par contre, au moment de l'exécution, seules sont utilisées les ressources de la langue courante de l'appareil... Ou je me trompe ?




     


    Merci de ton message, ma question est exactement celle-là .


     


    Les ressources sont elles toutes dans le binaire téléchargé depuis le store ou uniquement celles contenues dans un répertoire *.lproj?

Connectez-vous ou Inscrivez-vous pour répondre.