SDK iOS Localisation avec NSLocalizedString

L'App Store est un marché mondial et, en localisant votre application, les utilisateurs d'autres pays auront plus de chances de le télécharger et de l'apprécier. Dans ce tutoriel iOS, nous verrons comment localiser le texte dans votre application pour des langues supplémentaires..


Étape 1: Traduire votre texte

Si vous ne parlez pas couramment la langue dans laquelle vous souhaitez traduire votre application, vous serez peut-être perplexe quant à la marche à suivre pour y parvenir. Il existe quelques options différentes pour la traduction. Une option consiste simplement à utiliser Google Traduction, un site de traduction gratuit fourni par Google. Malheureusement, les traductions informatisées peuvent être loin d'être parfaites, mais cela peut être mieux que rien. Une autre option consiste à engager un service de traduction. Une recherche rapide sur Internet montrera qu'il existe de nombreuses sociétés disponibles qui prendront le texte de votre application et le traduiront manuellement pour vous dans la langue souhaitée. Enfin, vous pouvez essayer de trouver un ami ou un associé qui parle couramment la langue cible et leur demander de traduire le texte de l'application pour vous. N'oubliez pas qu'une personne également familiarisée avec la culture de la langue cible peut être en mesure de vous fournir des traductions plus précises que celle qui n'a que des connaissances académiques de la langue..


Étape 2: Configuration de votre projet

Lancez Xcode et cliquez sur Fichier> Nouveau> Projet. Cliquez sur "Application" dans le volet iOS à gauche. Cliquez sur le "Single View Application" icône, puis cliquez sur "Suivant".

Dans le champ "Nom du produit", tapez "LocalizationDemo" et entrez un nom pour votre identifiant d'entreprise, tel que "com.mobiletuts". Choisissez "iPhone" dans le menu "Famille de périphériques". Décochez "Utiliser les storyboards" et "Inclure les tests unitaires", puis cochez la case "Utiliser le comptage automatique des références". Cliquez sur "Suivant", choisissez un emplacement pour enregistrer votre projet, puis cliquez sur "Créer".


Étape 3: Ajout de chaînes localisées

Tout d'abord, nous allons ajouter deux nouvelles langues, le français et l'espagnol, au fichier info.plist de l'application. Cela informe iTunes des langues prises en charge par votre application, ce qui permet d'afficher les langues supplémentaires sous le nom de votre application sur l'App Store. Cliquez sur "localizationDemo-info.plist". Cliquez sur la dernière ligne du fichier, puis sur le bouton plus gris dans la première cellule. Tapez "Localisation" dans la nouvelle cellule. Cliquez sur la flèche à gauche de la cellule pour afficher votre langue initiale, dans notre cas, l'anglais. Cliquez sur le bouton plus à côté de "Localizations" et ajoutez "French" au tableau. Cliquez à nouveau sur le bouton Plus et tapez "Espagnol".

le .des cordes Fichier

Ensuite, nous allons ajouter un fichier de chaînes de caractères pour stocker notre texte localisé. Cliquez sur Fichier> Nouveau> Nouveau fichier..

Choisissez un fichier iOS Resource Strings et cliquez sur "Suivant". Assurez-vous que votre fichier s'appelle "Localizable" avant de cliquer sur "Créer".

Ajout d'une paire clé-valeur en anglais

Cliquez sur le fichier "Localizable.strings" nouvellement créé et ajoutez le code suivant pour créer une paire clé-valeur en anglais..

 "HelloKey" = "Hello";

Une paire clé-valeur est juste ce qu'elle dit, le côté gauche du signe égal est la clé et le côté droit est la valeur. Nous allons utiliser la clé dans une minute pour accéder à la valeur associée et la définir comme texte de l'étiquette.

Ajout de français et d'espagnol .des cordes Des dossiers

Nous allons maintenant créer les fichiers de chaînes en français et en espagnol. Cliquez sur Afficher> Utilitaires> Afficher l'inspecteur de fichiers. Cliquez et maintenez enfoncé le bouton plus en bas du volet "Localisation". Sélectionnez "Français" dans le menu déroulant, puis cliquez à nouveau sur le bouton plus. Cette fois, sélectionnez "Espagnol" dans le menu déroulant..

Ajouter une paire clé-valeur française

Notez que "Localizable.strings" est accompagné d’une flèche d’agrandissement; Cliquez sur la flèche pour afficher les trois langues, anglais, français et espagnol. Cliquez sur le fichier de chaînes français et remplacez la paire clé-valeur par le code ci-dessous..

 "HelloKey" = "Bonjour";

Ajouter une paire clé-valeur en espagnol

Cliquez sur le fichier de chaînes en espagnol et remplacez sa paire clé-valeur par le code suivant..

 "HelloKey" = "Hola!";

Étape 4: Configuration de l'interface utilisateur

Cliquez sur le fichier "ViewController.m" et ajoutez le code suivant au viewDidLoad méthode pour créer une étiquette dont le texte est défini à partir d'un fichier de chaînes localisé.

 // récupère la chaîne localisée à partir du fichier de chaînes approprié NSString * localizedHelloString = NSLocalizedString (@ "HelloKey", @ ""); // create label - définit la propriété text sur la chaîne localisée CGRect localizedLabel_Frame = CGRectMake (20.0f, 40.0f, 280.0f, 44.0f); UILabel * localizedLabel = [[UILabel alloc] initWithFrame: localizedLabel_Frame]; localizedLabel.text = localizedHelloString; localizedLabel.textAlignment = UITextAlignmentCenter; localizedLabel.font = [UIFont boldSystemFontOfSize: 20.0f]; // ajoute une étiquette à afficher [self.view addSubview: localizedLabel];

Notez que nous avons utilisé la macro NSLocalizedString () pour obtenir la valeur localisée à partir du fichier de chaînes du langage approprié. C'est le moyen de définir le texte en fonction du paramètre de langue de l'utilisateur. Par défaut, NSLocalizedString () cherche un fichier nommé "Localizable.strings". Si vous avez nommé votre fichier de chaînes de manière différente, la macro ne pourra pas trouver le fichier de chaînes contenant la valeur localisée..


Étape 5: Test des localisations

Cliquez sur Produit> Exécuter ou sur la flèche Exécuter située dans le coin supérieur gauche de la fenêtre Xcode. Le projet construit avec notre texte anglais original, "Bonjour".

Cliquez sur le bouton Accueil pour quitter l'application. Cliquez sur Paramètres> Général> International> Langue pour accéder aux paramètres de langue..

Choisissez le français ou l'espagnol dans le menu et revenez dans l'application LocalizationDemo..

Voir que le texte a changé dans la nouvelle langue.


Conclusion

Si votre application contient beaucoup de texte et que vous envisagez de localiser plusieurs langues, il est important de garder vos paires clé-valeur organisées. Pour voir comment j'organise mon texte, téléchargez le code source et jetez un coup d'œil aux fichiers de chaînes. Questions ou commentaires? N'hésitez pas à les laisser dans la section commentaires ou à les envoyer directement via Twitter.