J'ai ce problème vraiment époustouflant.
J'ai créé un fichier Localizable.strings dans XCode puis 2 langues dedans.
J'ai rempli ces fichiers avec les traductions de la langue, j'ai fait un build/clean puis une nouvelle build, mais il n'y a aucun moyen que les chaînes de localisation apparaissent dans mon projet. Si j'essaye quelque chose comme:
self.title = NSLocalizedString(@"HEAD", nil);
seul "HEAD" au lieu de la traduction apparaît dans le simulateur d'appareil.
Voici ma hiérarchie de projet:
Et voici le contenu du fichier de localisation anglais:
Des idées?
J'ai trouvé la réponse moi-même.
En plus de nettoyer et de reconstruire le projet et tout ce que j'ai décrit ci-dessus. Vous devez également supprimer l'application dans le simulateur iPhone, puis la reconstruire! Après cela, cela fonctionne parfaitement.
Parlez de simplifier Apple ...
Assurez-vous que:
Quelques vérifications:
Localizable.strings
et est inclus dans la cible;
"
//
(NE PAS #
)Assurez-vous que vous disposez de Localizable.strings sous Build Phases, Copy Bundle Resources.
Vérifiez le nom du fichier si la première lettre est en majuscules Localizable.strings
La solution de @ jbssm fonctionne, mais un meilleur moyen (en s'assurant que la ressource continuera à se mettre à jour sans nettoyage et suppression à chaque fois) sera d'ajouter une phase de construction de script personnalisé qui modifie le temps d'accès du Localizable.bundle.
Comme décrit dans https://stackoverflow.com/a/19274844/414037
J'ai trouvé 1 réponse moi-même.
Assurez-vous que toutes les valeurs ont un point final avec; Sinon, ça ne marche pas ..
Dans mon cas, mon fichier Localizable.strings n'a pas été correctement formaté, en raison de certains restes de texte. Le compilateur ne s'est pas plaint, mais toutes les chaînes après la section illégale du fichier ont été ignorées. Mon fichier ressemblait à ceci:
"Key1" = "String1";
Un string
Un string
Un string
Un string";
"Key2" = "String2";
Assurez-vous donc d'inspecter manuellement toutes les chaînes Localizable.strings qui ne sont pas traitées correctement. Vous ne pouvez pas faire confiance au compilateur pour détecter toutes les erreurs de formatage.
Mes deux cents sur la localisation. J'ai modifié les fichiers de localisation, les ai ajoutés et supprimés, et le projet a fait l'objet de nombreuses mises à jour Xcode. Trouvez plus tard qu'à l'exception de l'anglais, aucune localisation ne fonctionne.
Le problème était que je dois avoir une localisation base
, je dois cocher la base sur le côté droit quand j'ai fait qu'un fichier à gauche soit ajouté et qu'une autre traduction apparaisse dans l'application. Il y a sûrement les cordes là-bas ...
Supprimez également l'application dans le simulateur iPhone, puis recréez-la! Après cela, cela fonctionne parfaitement.
Outre tous les conseils mentionnés ailleurs dans ce fil, Localizable.strings
doit également se trouver dans le dossier racine du projet dans certains cas.