Je suivais l'un des tutoriels de Ray Wenderlich sur la localisation mais je n'arrive pas à le faire fonctionner.
J'ai mis mon projet en place pour la localisation en anglais et en français et j'ai un fichier locaziable.strings pour chacun:
Le fichier français a les versions françaises correctes (ainsi que Google translate) de ma chaîne:
Je mets les chaînes en appelant la bonne clé à partir du fichier localizable.strings:
NSString* strTitle = [NSString stringWithFormat:NSLocalizedString(@"Title", Nil)];
Et j'ai le simulateur réglé sur le français (BTW: chaque fois que je change de langue, le simulateur plante).
Mais il ne tire pas du fichier localizable.strings correct. Son affichage toujours en anglais:
Est-ce que je fais quelque chose de mal?
Vous avez peut-être exécuté l'application à un moment où le fichier Localizable.strings
existait déjà mais n'a pas encore été localisé. Si tel est le cas, ce fichier non localisé réside toujours dans le dossier des ressources du bundle d'applications dans le simulateur (lorsque vous créez et exécutez une nouvelle version de votre application dans le simulateur ou dans l'appareil, les fichiers inutilisés ne seront pas supprimés). Cela peut entraîner des problèmes.
Essayez de supprimer complètement l'application du simulateur et recommencez une analyse.
Si vous utilisez xcode 6.1.1 et iOS sdk 8.1, essayez cette solution de contournement.
Il semble que la localisation ne fonctionne pas avec le simulateur xCode 6.1 et 8.1. Solution: allez dans "modifier les schémas" >> "Exécuter" (barre latérale) >> onglet "Options" >> "Langue de l'application" Sélectionnez la langue dans laquelle vous souhaitez exécuter l'application sur le simulateur. J'ai obtenu cette solution de contournement de Solution de contournement par natanavra Merci à lui.
Cependant, j'ai lu sur le développeur forum , qu'il fonctionne dans la version 6.2 beta de Xcode. J'espère que oui.
J'ai rencontré des problèmes similaires (localisation IB dans mon cas) sur l'appareil. Donc, la réponse générale serait
Device - Désinstaller l'application et nettoyer le projet par Shift + CMD + K
Simulator - Aller au simulateur iOS> Réinitialiser le contenu et les paramètres et nettoyer le projet par Shift + CMD + K
Ces problèmes sont vraiment ennuyeux. Avec la faible capacité à mettre à jour les chaînes localisées, la localisation est l'un des plus gros inconvénients du développement iOS.
Un autre problème qui pourrait empêcher la localisation de fonctionner est l'encodage du fichier de chaînes. Le codage de Localizable.strings doit être UTF-16. L'encodage par défaut du fichier texte dans xcode est UTF-8, ce qui me fait passer une journée entière à vérifier pourquoi la localisation ne fonctionne pas.
Dans Xcode 6.0 et versions ultérieures, la localisation ne fonctionne pas en changeant la langue dans Simulator ne fonctionne pas.
Vous devez modifier le schéma avant d'exécuter votre application.
Allez dans Modifier le schéma -> Exécuter -> Options, changez la langue ici.
Maintenant, exécutez votre application. Ça va marcher.
Pour plus de détails, vérifiez cette réponse: Changer la langue sur le simulateur iOS 8.1 ne fonctionne pas
Mon problème pour cela était un caractère incorrectement encodé dans le fichier de localisation.