Xcode gestion de la langue

mercredi 19 septembre 2012

Xcode gère pour vous la gestion de la langue.
Quand on créé un projet un dossier physique en.lproj est créé. Ce dossier contient tous les fichiers nécessaires pour la traduction de votre application. Par défaut un fichier InfoPlist.strings est créé et contient la traduction des chaînes de Info.plist.

L’idéal pour gérer la traduction dans Xcode est d’utiliser la fonction

NSLocalizedString(@"code", @"comment")

dont le premier paramètre représente le code qui permettra d’identifier le texte à traduire, le second paramètre est un commentaire qu’on peut laisser à l’attention du traducteur.

Si vous souhaitez changer la langue de départ « en » en « fr », il suffit d’abord de retirer du projet le fichier InfoPlist.strings via référence.

Ensuite de renommer physiquement le dossier en.lproj en fr.lproj et de faire glisser le fichier InfoPlist.strings dans votre projet.
XCode affichera dans les propriétés du fichier InfoPlist.strings la Localization a « french » au lieu de « English » auparavant.

Ensuite Xcode, nous fourni une commande à exécuter dans le terminal qui permet de parcourir tous nos fichiers .m et de générer un fichier de traduction qu’on a plus qu’à envoyer à la traduction.

Voici la commande à exécuter dans le dossier root du projet:

genstrings -o en.lproj *.m

Cette commande va générer un fichier Localizable.strings qui contient les traductions à traduire.
Il reste plus qu’à traduire ce fichier car NSLocalizedString va chercher les valeurs dans Localizable.strings.

Pour plus d’info voici un article très complet à ce sujet.

Tags: Développement , IOS , multilangue , Xcode