Accueil » Tutoriels » Guide de localisation iOS pour applis iPhone et iPad multilingues

Guide de localisation iOS pour applis iPhone et iPad multilingues

Guide de localisation iOS pour applis iPhone et iPad multilingues

Ce guide vous expliquera comment convertir une application iOS unilingue créée avec Xcode en application multilingue.

Table de matières :

  1. Rendre les ressources localisables dans Xcode
  2. Localisation des fichiers Interface Builder
  3. Compilation des textes incorporés en fichiers de ressources
  4. Traduction des fichiers de ressources
  5. Importation de la traduction dans l’application iOS
  6. Test de la traduction sur un appareil iOS

 

Traduire dès maintenant

Besoin de traduire votre appli iOS ?

ICanLocalize assure la traduction professionnelle d’applis iOS.

Chargez votre fichier de ressources et recevez un devis définitif dès à présent.

Fichier de ressources iOS :

Format de fichier :

Langue source :

Langue de destination :

Vous avez déjà des traducteurs ?

Nous vous invitons à utiliser gratuitement notre système de traduction et à réduire ainsi le temps qu’exigent la gestion et la coordination du travail de traduction de votre application.

Système de traduction gratuit pour les applis mobiles »

Introduction

Le processus de localisation d’une application iOS implique les étapes suivantes :

  1. Préparation de vos fichiers de ressources à localiser.
  2. Compilation des textes utilisés dans les fichiers de ressources de l’application.
  3. Traduction des fichiers de ressources.
  4. Réintégration des fichiers de ressources dans l’application.

Étant donné que les applis iOS sont par nature destinées à être multilingues, une fois que votre application est disponible dans plusieurs langues, l’appareil sait déjà quoi faire. Il va afficher les textes d’IU dans la bonne langue, en fonction des réglages linguistiques de l’appareil.

Toutes les applications iOS sont conçues avec des textes Unicode encodés en UTF-16. Les simulateurs d’iPhone et d’iPad prennent ce format en charge et vous permettront d’avoir un aperçu de votre application traduite.

1. Rendre les ressources localisables dans Xcode

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

Le moyen le plus simple de rendre localisable un fichier avec Xcode consiste à simplement enlever le fichier du projet et, dans Finder, à le déplacer dans le répertoire localisé. Veillez à cliquer sur « Delete References » et non sur « Also Move to Trash » lorsque vous enlevez le fichier de votre projet afin que le fichier même ne soit pas effacé mais que seule la référence vers lui dans le projet soit supprimée.

Si vos fichiers de ressources sources sont en anglais, créez un dossier nommé en.lproj dans le dossier de votre projet. Si vos fichiers de ressources sources sont dans une autre langue, remplacez en par le code pays à deux lettres.

Déplacez le fichier de ressources dans le nouveau répertoire de localisation, puis faites glisser la ressource dans le projet Xcode. Xcode va identifier la ressource comme localisée dans cette langue. Répétez la procédure pour tous vos autres fichiers de ressources à localiser.

2. Localisation des fichiers Interface Builder

Extraction des chaînes

Pour extraire les chaînes de vos fichiers de ressources Interface Builder, vous devez exécuter un outil tel qu’ibtool, qui fait partie du kit standard du développeur.

Pour extraire les fichiers, ouvrez Terminal dans le répertoire de projet et exécutez la commande suivante :
ibtool --generate-strings-file Example.strings en.lpoj/Example.xib
Cela va créer le fichier Example.strings. Ouvrez-le et vous trouverez toute une quantité d’appariements de valeurs objet-chaîne.

Parcourez attentivement ce document et vérifiez son contenu. Vous pouvez supprimer les chaînes inutiles, qui n’ont pas besoin d’être traduites.

S’occuper des doublons de chaîne

Le fichier de ressources peut contenir des doublons de chaîne, comme certains titres pour des boutons dans différents états.

Certains doublons n’ont besoin d’être traduits qu’une seule fois, mais d’autres ont différentes traductions. Le même titre de bouton, dans différents états, doit clairement avoir la même traduction. Mais des chaînes peuvent être ici un nom, là un verbe.

Vous pouvez supprimer les doublons de chaîne redondants (qui doivent avoir la même traduction) du fichier de ressources, ou les laisser et donner au traducteur l’instruction de les traiter comme des doublons.

Le système de traduction iOS d’ICanLocalize peut supprimer automatiquement les doublons de chaîne des fichiers de ressources afin de simplifier cette tâche.

3. Compilation des textes incorporés en fichiers de ressources

Normalement, les applications iOS contiennent deux types de textes. Il y a les chaînes de l’interface de l’application (gérées par Interface Builder) et les chaînes incorporées qui figurent dans le code même.

Les chaînes de l’interface sont déjà organisées dans un fichier de ressources, et nous devons nous assurer que le code même n’utilise que des chaînes qui sont aussi lues dans un fichier de ressources.

Une chaîne du code ressemblerait à ceci :

@"Bonjour tout le monde !"

Nous devons éditer les fichiers sources et modifier les chaînes du code pour qu’elles ressemblent à ceci :

NSLocalizedString(@"Bonjour tout le monde", @"message bonjour")

À présent, « Bonjour tout le monde » est en réalité un jeton. La fonction NSLocalizedString va produire la chaîne qui sera générée. Elle renverra la chaîne localisée en fonction de la langue de l’application. NSLocalizedString lira le fichier Localizable.strings du répertoire de localisation.

Parcourez tout votre code et déterminez quelles chaînes seront vues par l’utilisateur et devraient être localisées. Ne localisez pas des chaînes que l’utilisateur ne verra jamais, comme les clés d’un NSDictionary (à moins, évidemment, que vous n’affichiez ces clés).

Ajout de commentaires

Avez-vous remarqué ce « message bonjour » (le second argument) ?

Il s’agit d’un commentaire, qui va se placer dans le fichier de ressources et pourra aussi être vu par le traducteur. Il est très important d’ajouter des commentaires là où le sens du texte n’est pas évident. De cette façon, le traducteur en charge de votre application saura à quoi est destiné ce texte et comment le traduire correctement.

Création d’un fichier Localizable.strings

genstrings va recueillir toutes les chaînes devant être traduites dans les fichiers sources et créer le fichier Localizable.strings. Pour l’exécuter, ouvrez Terminal, accédez au répertoire du projet et exécutez :

genstrings -o en.lproj *.m

Cela va extraire toutes les clés des appels NSLocalizedString et les compiler en un fichier Localizable.strings dans le répertoire de localisation en.lproj. Si vos fichiers de classes se trouvent dans un autre répertoire, veillez à les inclure à la fin de cette commande (p. ex. Classes/*.m).

4. Traduction des fichiers de ressources

À présent, vous devriez avoir deux fichiers de ressources. Le fichier de ressources Interface Builder (créé par ibtool) et le fichier de ressources des chaînes intégrées (créé par genstrings).

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

Nous disposons d’un outil spécial pour la localisation des fichiers de ressources iOS, qui permet de traduire des applications iOS sans perdre de temps avec les tâches techniques. L’outil va lire vos fichiers de ressources, extraire les textes à traduire et générer les fichiers de ressources traduits.

Vous pouvez charger les fichiers de ressources en encodage UTF-16 ou UTF-8. L’outil va extraire les paires d’étiquettes et de chaînes (et les commentaires éventuels). Des traducteurs professionnels, qui ont une grande expérience de la localisation d’applications iOS, vont traduire uniquement les chaînes. Vous communiquerez directement avec vos traducteurs pour vous assurer que la traduction n’est pas seulement exacte mais aussi adaptée à la culture et aux coutumes des autres pays.

Vous devrez créer un compte (gratuit). Ensuite, créez un iOS translation project (projet de traduction iOS), chargez vos fichiers de ressources, choisissez les langues de traduction et payez la traduction Une fois terminé, vous pourrez télécharger les fichiers de ressources localisés et les réimporter dans votre application.

Et, même longtemps après que la traduction aura été réalisée, si vous aviez besoin de la mettre à jour ou de la corriger, nos traducteurs seront ravis de vous aider.

5. Importation de la traduction dans l’application iOS

Création du xib localisé

Une fois que vous avez récupéré votre fichier de chaînes traduites, relancez Terminal et servez-vous-en pour créer une copie localisée de ce xib.

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

À supposer que votre langue source soit l’anglais, accédez au répertorie du projet, ouvrez Terminal et exécutez :

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

Cela va copier le fichier Interface Builder localisé en anglais dans l’autre répertoire de localisation et remplacer les valeurs de tous les objets pars celles du fichier des chaînes traduites.

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

Ajout d’un fichier localisé à Xcode

Faites glisser le fichier .xib récemment localisé dans votre projet dans Xcode. Veillez à ne pas faire glisser le fichier dans la localisation existante. Le fichier .xib localisé doit aller dans le groupe comprenant les autres localisations de ce fichier.

Emplacement correct où déposer le fichier .xib (cliquez pour zoomer) Emplacement erroné où ne pas déposer le fichier .xib (cliquez pour zoomer)
Emplacement correct où déposer le fichier .xib Emplacement erroné où ne pas déposer le fichier .xib

Révision du fichier Interface Builder traduit

Ouvrez le fichier traduit dans Interface Builder et vérifiez tout. Souvent, la longueur des différentes chaînes aura changé de manière significative. La traduction de l’anglais vers l’allemand et vers le français est souvent plus longue de 50 % que le texte original. Il se peut que vous ayez à ajuster légèrement la mise en page pour vous assurer que tout est visible.

Si vous avez supprimé manuellement les doublons, c’est alors le moment de les réinsérer en copiant 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 généré plus tôt, vous allez maintenant devoir copier le titre du bouton qui a été traduit.

Vous ne devez faire cela que si vous avez modifié le fichier .strings avant de demander la traduction. Le système d’ICanLocalize supprime déjà les doublons de la traduction et les réinsère dans le fichier de ressources traduit.

Votre application iOS devrait maintenant fonctionner en mode multilingue ! Mais attendez, il y a une dernière étape.

6. Test de la traduction sur un appareil iPhone ou iPad

Une fois tout cela fait, vous aurez une application multilingue.

Pour la tester sur un vrai téléphone, vous devrez changer la langue de l’appareil. Vous pouvez suivre le didacticiel pour le changement de langue sur iPhone d’Apple.

Vous êtes presque prêt pour le lancement, rappelez-vous juste de tester.

Voici quelques points auxquels être attentif :

Écueil Ce qui peut se passer Comment le résoudre
Les chaînes traduites débordent Allemand, français, espagnol et d’autres langues européennes ont normalement une longueur de 120 à 150 % supérieure à l’anglais. Les langues asiatiques ont habituellement une longuer de 50 à 70 %. Adaptez l’IU aux chaînes de taille différente. Le système de localisation iOS d’ICanLocalize vérifie la longueur des chaînes et avertit de celles qui sont trop longues ou trop courtes.
Caractères de mise en forme manquants Beaucoup de chaînes contiennent des paramètres fictifs remplaçant des données, comme %s pour du texte et %d pour des nombres. D’autres chaînes contiennent du code HTML. Si la traduction n’a pas la même mise en forme, l’application ne fonctionnera pas bien. Notre système de traduction permet de saisir des séquences « indispensables ». Il s’assurera que la traduction contient les mêmes séquences que l’original. Sinon, vous devrez réviser manuellement toutes les chaînes et veiller à ce que les caractères de mise en forme concordent.
Traduction hors sujet Il est toujours possible que le traducteur n’ait pas exactement compris le sens d’une chaîne. Cela est plus fréquent lorsque les applications contiennent des chaînes courtes et non descriptives. Envoyez une description complète de l’application au traducteur avant de démarrer le projet. La traduction terminée, réalisez des captures d’écran de l’application et envoyez-les pour une révision finale. L’ajout de commentaires aux chaînes vous assurera une excellente traduction.

Dépannage

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

Contrairement au simulateur d’iPhone, l’appareil réel ne reconnaît que les fichiers de chaînes au format UTF-16. Testez toujours vos localisations sur l’appareil, car le simulateur et l’appareil n’ont pas toujours le même comportement.

Les fichiers de ressources traduits que vous téléchargez d’ICanLocalize sont encodés en UTF-16. Ils sont rassemblés dans un dossier gzip pour garantir que votre navigateur ne les modifie pas lors du téléchargement.

Mise à jour de la traduction lorsque l’application iOS évolue

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

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

Enfin, chargez les nouveaux fichiers de ressources dans votre projet existant sur ICanLocalize. Le système détectera les chaînes nouvelles ou modifiées et n’en fera pas traduire d’autres. Vous ne devrez payer qu’une actualisation de la traduction, pas pour la reprendre à zéro.

Remarque : Quand une chaîne change, elle doit être retraduite entièrement. Afin de réduire le coût de mise à jour des traductions, nous recommandons de subdiviser les longues chaînes en plusieurs petites. De cette façon, lorsque vous apportez une modification, la partie à retraduire est plus petite et moins coûteuse. Les chaînes doivent être assez longues pour être compréhensibles par elles-mêmes, mais pas trop longues, de sorte que leur actualisation ne soit pas chère.

Vous avez besoin de traduire votre application iOS ?

ICanLocalize assure une traduction professionnelle optimisée pour les applications iOS. Nous pouvons rendre votre appli multilingue rapidement, facilement et pour un faible coût.

Des experts de la traduction, écrivant dans leur langue maternelle, traduiront votre application, vous aidant ainsi à stimuler vos ventes dans le monde entier.


« J’ai utilisé ICanLocalize pour traduire mon appli iOS de jardinage, Album de plantes. J’ai utilisé leurs services par le passé et je continue à être impressionné par leur personnel professionnel, la qualité des traductions et leur site facile d’utilisation. Vivement recommandé pour tous vos besoins de localisation ! »

« Nous utilisons ICanLocalize depuis 2012 et ça a vraiment simplifié notre processus de travail en matière de traduction du contenu pour les différents marchés. Plus besoin de partir à la chasse aux traducteurs pour chaque langue, de leur apprendre le fonctionnement des outils de traduction, de traiter les factures individuellement, etc. étant donné qu’ICanLocalize s’occupe de tout pour nous ! Nous faisons appel aux services d’ICanLocalize pour la traduction de nos sites Web, de nos applis, de nos lettres d’information et de notre matériel publicitaire, et on peut toujours compter sur un délai de livraison rapide. Je me rends compte que ce témoignage ressemble à une pub rémunérée ou quelque chose dans le genre, mais tout est vrai, c’est vraiment ce que j’en pense ! Je recommanderais ICanLocalize en toutes circonstances ! »

« ICanLocalize est la meilleure solution pour des traductions rapides et de grande qualité de votre appli. Nous utilisons ses services dans toutes nos applications avec de bons résultats et des commentaires positifs de la part des utilisateurs. Je recommande de l’utiliser pour localiser vos applications. »

 

plante« L’utilisation d’ICanLocalize a été incroyablement simple. Les traducteurs sont d’une grande aide, et le processus de traduction est très simple. Ce service est abordable pour les développeurs de toute taille, et ICanLocalize nous a aidés à toucher une plus large clientèle qu’auparavant. »

Livre de coloriage« ICanLocalize m’a aidé à gagner énormément de temps, car il fournit des traducteurs pour toutes les langues, et on peut aussi avoir d’autres traducteurs qui révisent les traductions afin de s’assurer qu’elles sont exactes. La plus grande aide qu’apporte ICanLocalize, c’est la possibilité de charger mes fichiers de chaînes directement depuis xcode sur le site, ainsi, quand les traducteurs ont fini, je peux simplement remplacer mes fichiers de chaînes dans mon projet, et c’est terminé. »


Si vous envisagez de traduire et de republier ce didacticiel, veuillez nous contacter d’abord. Dites-nous où vous souhaitez le publier et quelques mots à propos de vous.