Accueil » Tutoriels » Guide de localisation pour les Applications iPhone

Guide de localisation pour les Applications iPhone

Guide de localisation pour les Applications iPhone

Ce guide vous montrera comment convertir une application iPhone en une seule langue, créée avec Xcode, en une application multilingue.

Besoin d’une traduction pour votre application iPhone ?

ICanLocalize propose une traduction professionnelle pour les applications iPhone.

Téléchargez votre fichier de ressources et recevez un devis immédiatement.

Fichier de ressources iPhone:

Format du fichier:

Langue source:


Si vous êtes prêt, lancez-vous et créez un compte.

Ensuite, démarrez un projet Localisation de logiciel et suivez l’assistant de configuration.

Créer un compte

Introduction

Le processus consistant à localiser une application iPhone comprend les étapes suivantes:

  1. Préparer vos fichiers de ressources pour la localisation.
  2. Rassembler tous les textes utilisés dans l’application dans des fichiers de ressources.
  3. Traduire les fichiers de ressources.
  4. Réintégrer les fichiers de ressources dans l’application.

Étant donné que les iPhones sont multilingues de par leur conception, une fois que votre application est disponible en plusieurs langues, le téléphone sait déjà quoi faire. Il affichera les textes de l’interface graphique utilisateur (IGU) dans la langue correspondante, selon le paramètre de langue du téléphone.

Toutes les applications iPhone sont créées en utilisant des textes Unicode, au format UTF-16. Le simulateur iPhone supporte ce format et vous permettra de prévisualiser votre application traduite.

1. Rendre les Ressources Localisables dans Xcode

Xcode doit savoir que votre projet inclut des fichiers de ressources multilingues.

Pour rendre un fichier localisable avec Xcode le plus simple est de supprimer le fichier du projet et, dans Finder, de le déplacer dans le répertoire localisé. Veillez à cliquer sur «Supprimer les Références» et pas sur «Déplacer aussi dans la Poubelle» lorsque vous enlevez le fichier de votre projet, pour que le fichier lui-même ne soit pas supprimé mais seulement sa référence dans le projet.

Si vos fichiers de ressources sources sont en anglais, alors créez un nouveau dossier nommé en.lproj dans votre dossier de projet. Si vos fichiers de ressources sources sont dans une langue différente, remplacez le en par les deux lettres du code du pays correspondant.

Déplacez le fichier de ressources vers le nouveau répertoire de localisation, et puis faites glisser la ressource dans le projet Xcode. Xcode reconnaîtra maintenant la ressource comme étant localisée dans cette langue. Recommencez pour tous vos autres fichiers de ressources que vous devez localiser.

2. Localiser vos fichiers d’Interface Builder

Extraire les chaînes

Pour extraire les chaînes des fichiers de ressources de votre Interface Builder, vous devez exécuter un outil comme ibtool, qui est inclus avec le programme d’installation du kit de développement standard.

Pour extraire les fichiers, ouvrez Terminal dans le répertoire du projet et exécutez la commande:
ibtool --generate-strings-file Example.strings en.lpoj/Example.xib
Cela créera le fichier Example.strings. Ouvrez-le et vous verrez un tas de paires de valeurs (objet-chaîne).

Examinez soigneusement ce document et vérifiez son contenu. Vous pouvez supprimer les chaînes qui n’ont pas besoin de traduction.

Gérez les chaînes en double

Il se peut que le fichier de ressources contienne des chaînes en double, par exemple, les titres de certains boutons dans différents états.

Certaines chaînes en double doivent être traduites une seule fois seulement mais d’autres chaînes en double ont différentes traductions. Le même titre de bouton, dans différents états, devrait manifestement avoir la même traduction. Cependant, les chaînes peuvent être une fois un nom et dans d’autres endroits un verbe.

Vous pouvez supprimer les chaînes en double redondantes (qui devraient avoir la même traduction) du fichier de ressources ou les conserver et en informer le traducteur.

Le système de traduction pour iPhone d’ICanLocalize peut supprimer de façon automatique les chaînes en double des fichiers de ressources, simplifiant ainsi cette tâche.

3. Rassemblez les textes incorporés dans les fichiers de ressources

Normalement, les applications iPhone contiennent deux genres de textes: l’interface de l’application (gérée par l’Interface Builder) et les chaînes incorporées qui apparaissent inline dans le code lui-même.

Les chaînes de l’interface sont déjà organisées dans un fichier de ressources et nous devons veiller à ce que le code lui-même utilise seulement les chaînes qui peuvent être lues à partir d’un fichier de ressources .

Une chaîne dite inline ressemblerait à ça:

@"Hello World!"

Nous devons éditer les fichiers sources et changer toutes les chaînes dites inline pour qu’elles ressemblent à ça:

NSLocalizedString(@"Hello World", @"hello message")

Maintenant, « Hello World » est en fait un jeton. La fonction NSLocalizedString produira la chaîne qui sera générée. Elle retournera la chaîne localisée selon la langue de l’application. NSLocalizedString lira le fichier Localizable.strings du répertoire de localisation.

Examinez tout votre code et déterminez quelles chaînes sont visibles par l’utilisateur et devraient être localisées. Ne localisez pas les chaînes que l’utilisateur ne verra jamais, telles que les clés dans un NSDictionary (à moins, bien entendu, que vous affichiez un jour ces clés).

Ajouter des commentaires

Avez-vous remarqué ce « hello message » (la deuxième affirmation)?

C’est un commentaire qui ira dans le fichier de ressources et sera aussi visible au traducteur. Il est très important d’ajouter des commentaires là où le texte n’est pas évident. De cette façon, le traducteur qui traduit votre application saura quelle est l’utilisation du texte et la façon de le traduire correctement.

Créer un fichier Localizable.strings

genstrings rassemblera toutes les chaînes qui doivent être traduites à partir des fichiers d’origine et créera le fichier Localizable.strings. Pour l’exécuter, ouvrez Terminal, allez au répertoire du projet et exécutez:

genstrings -o en.lproj *.m

Cela extraira toutes les clés des appels à NSLocalizedString, et les compilera dans un fichier Localizable.strings file dans le répertoire de localisation en.lproj. Si vos fichiers de classe sont dans un répertoire différent, veillez à les inclure à la fin de cette commande (par exemple, Classes/*.m).

4. Traduire les fichiers de ressources

Maintenant, vous devriez avoir deux fichiers de ressources. Le fichier de ressources Interface Builder (créé par ibtool) et le fichier de ressources des chaînes incorporées (créé par genstrings).

Vous pouvez envoyer les deux fichiers pour qu’ils soient traduits par ICanLocalize.

Nous possédons un outil spécial pour localiser les fichiers de ressources iPhone, qui permet de traduire les applications iPhone sans passer du temps sur des tâches techniques. Cet outil lira vos fichiers de ressources, extraira les textes qui doivent être traduits et produira des fichiers de ressources traduits.

Vous pouvez télécharger les fichiers de ressources dans leur codage UTF-16 d’origine. L’outil extraira des paires d’étiquettes et de chaînes (et des commentaires s’il y en a). Puis, les traducteurs traduiront uniquement les chaînes.

Des traducteurs (humains) professionnels, qui ont une vaste expérience dans la localisation d’applications iPhone, traduiront les chaînes. Vous communiquerez directement avec vos traducteurs pour veiller à ce que la traduction ne soit pas seulement exacte mais aussi adaptée à la culture et aux coutumes d’autres pays.

Vous devrez créer un compte (gratuitement). Puis, créez un projet de traduction iPhone, téléchargez vos fichiers de ressources, choisissez les langues dans lesquelles vous devez réaliser la traduction et effectuez le paiement. Une fois la traduction terminée, vous pourrez télécharger les fichiers de ressources localisés et les importer à nouveau dans votre application.

Et même longtemps après que la traduction a été terminée, si vous avez un jour besoin de la mettre à jour ou de la modifier, nos traducteurs se feront un plaisir de vous aider.

5. Importer la traduction vers l’application iPhone

Créer le xib localisé

Une fois que vous avez reçu votre fichier de chaînes traduit, relancer Terminal et utilisez-le pour créer une copie localisée de ce xib.

Tout d’abord, assurez-vous d’avoir créé un répertoire pour cette localisation que vous venez de recevoir, par exemple «fr.lproj». Déplacez le fichier de chaînes traduit dans ce répertoire de localisation.

En supposant que votre langue source était l’anglais, allez au répertoire de votre projet, ouvrez le Terminal et exécutez:

ibtool --strings-file fr.lproj/Example.strings en.lproj/Example.xib –write fr.lproj/Example.xib

Cela copiera le fichier d’Interface Builder localisé en anglais dans l’autre répertoire de localisation, et remplacera les valeurs de tous les objets par celles qui se trouvent dans le fichier contenant les chaînes traduites.

Vous avez maintenant un .xib localisé, mais le fichier n’est pas encore prêt à être utilisé.

Ajouter le Fichier Localisé à Xcode

Faites glisser le fichier .xib récemment localisé vers votre projet dans Xcode. Assurez-vous de ne pas faire glisser le fichier dans la localisation existante. Le fichier .xib localisé devrait aller dans le regroupement qui contient les autres localisations de ce fichier.

Emplacement correct pour déplacer le fichier .xib (cliquez pour zoomer) Mauvais emplacement pour déplacer le fichier .xib (cliquez pour zoomer)
Emplacement correct pour déplacer le fichier .xib Mauvais emplacement pour déplacer le fichier .xib

Passez en revue le Fichier Traduit d’Interface Builder

Ouvrez le fichier traduit dans Interface Builder, et passez tout en revue. Souvent la longueur des différentes chaînes aura subi un changement considérable. Les traductions de l’anglais à l’allemand et au français ont tendance à être 50% plus longues que le texte d’origine. Il se peut que vous deviez ajuster légèrement la mise en page pour vous assurer que tout soit visible.

Si vous avez supprimé des doubles manuellement, c’est maintenant le moment de les remettre en doublant les chaînes traduites. Par exemple, si deux boutons partageaient le même titre, et que vous avez supprimé l’un des boutons du fichier .strings que vous avez généré tout à l’heure, vous devrez maintenant copier le titre du bouton qui a été traduit.

Vous devez seulement faire cela si vous avez édité le fichier .strings avant de le faire traduire. Le système d’ICanLocalize se charge déjà de supprimer les chaînes en double de la traduction et les réinsèrent dans le fichier de ressources traduit.

Votre application iPhone devrait maintenant fonctionner de façon multilingue! Mais attendez, il reste une étape de plus.

6. Essayer la traduction dans un dispositif iPhone.

Après avoir suivi toutes les étapes, vous aurez une application multilingue.

Pour l’essayer sur un téléphone réel, il vous faudra changer la langue de l’appareil. Vous pouvez suivre le tutoriel de changement de langue d’iPhone proposé par Apple.

Vous êtes maintenant à un pas du lancement, rappelez-vous seulement d’effectuer un essai.

Voici quelques aspects à considérer:

Écueil Ce qui peut se produire Comment y remédier
Dépassement de capacité des chaînes traduites Les textes traduits de l’anglais à l’allemand, au français, à l’espagnol et dans d’autres langues européennes sont normalement entre 120 et 150% plus longs que le texte d’origine. Vous devriez adapter l’IGU aux chaînes de différentes tailles.
Caractères de formatage manquants De nombreuses chaînes contiennent des paramètres de substitution de données, par exemple, %s pour le remplacement de textes et %d pour les chiffres. D’autres chaînes contiennent des codes HTML. Si la traduction ne contient pas le même formatage, l’application échouera. Notre système de traduction vous permet d’entrer des séquences obligatoires. Il veillera à ce que les traductions comprennent les mêmes séquences que l’original. Autrement, vous devriez réviser de façon manuelle toutes les chaînes et vous assurer que les caractères de formatage correspondent.
Traduction hors contexte Il existe toujours une possibilité que le traducteur n’ait pas bien compris la signification d’une chaîne. Cela se produit plus fréquemment lorsque les applications contiennent des chaînes courtes et peu descriptives. Envoyez au traducteur une description détaillée de l’application avant de commencer le travail. Une fois que ce dernier est terminé, envoyez des images où l’on peut voir l’écran de l’application afin de pouvoir effectuer une révision finale. Ajouter des commentaires aux chaînes vous assurera des traductions excellentes.

Résolution des problèmes

Si des chaînes dans votre fichier Localizable.strings sont présentes dans le fichier traduit, mais ne sont pas localisées sur l’iPhone, vérifiez le codage de caractères du fichier.

Contrairement au simulateur d’iPhone, l’iPhone reconnaît seulement les fichiers de chaînes qui sont au format UTF-16. Essayez toujours les localisations sur l’appareil, car le simulateur et l’appareil ne se comportent pas toujours de la même façon.

Les fichiers de ressources traduits que vous téléchargez à partir d’ICanLocalize utilisent le codage UTF-16. Ils sont contenus dans des archives gzip pour s’assurer que votre navigateur ne les modifie pas lorsque vous les téléchargez.

Mettre à jour la traduction lorsque l’application iPhone évolue

ICanLocalize facilite la mise à jour de vos traductions. Lorsque l’application iPhone évolue, de nouvelles chaînes sont créées et les chaînes existantes peuvent changer.

Pour mettre à jour les traductions, exécuter genstrings à nouveau afin de créer un nouveau fichier Localizable.strings. Puis, exécutez à nouveau ibtool pour générer de nouveaux fichiers de chaînes.

Enfin, téléchargez les nouveaux fichiers de ressources vers votre projet existant dans ICanLocalize. Le système détectera les nouvelles chaînes ou celles qui ont été modifiées et fera traduire seulement celles-là. Vous devrez seulement payer pour mettre à jour la traduction et pas pour recommencer à zéro.

A Noter: Lorsqu’une chaîne change, elle doit être entièrement retraduite. Afin de réduire le coût de la mise à jour des traductions, nous vous recommandons de diviser les chaînes longues en plusieurs chaînes courtes. De cette façon, lorsque vous effectuez un changement, la partie qui doit être retraduite est plus petite et moins coûteuse. Les chaînes devraient être suffisamment longues pour être compréhensibles toutes seules, mais pas trop longues pour que leur mise à jour ne soit pas coûteuse.

Vous avez besoin d’une traduction pour votre application iPhone?

ICanLocalize offre une traduction professionnelle optimisée pour les applications iPhone. Nous pouvons vous aider à transformer votre application iPhone en une application multilingue, de façon rapide, facile et à un prix bas.

Des traducteurs experts traduiront votre application dans leur langue maternelle, vous aidant ainsi à augmenter vos ventes dans le monde entier.

Créez votre compte et lancez-vous ou Obtenez un devis immédiat