2009-06-28 7 views
2

J'ai suivi la documentation d'Apple sur la localisation du logiciel iPhone, en utilisant le script Ruby Ruby pour créer mon fichier de chaînes, et j'ai localisé tous mes fichiers .nib. J'ai également regardé sur les deux babillards d'Apple, et autour du net pour essayer de trouver la solution.CocoaTouch: application localisée changeant aléatoirement

Je me suis assuré que toutes les chaînes fichiers sont UTF-16, et a changé ma build réglage « fichier de sortie des chaînes de codage » UTF-16, mais à la fois dans le simulateur et sur l'appareil, la localisation permute même si

NSArray* languages = [[NSBundle mainBundle] preferredLocalizations]; 
NSString* preferredLang = [languages objectAtIndex:0]; 

affiche correctement la langue sélectionnée par l'utilisateur. Y at-il quelque chose qui me manque, ou est-ce juste un bug?

+0

Comment est-ce qu'il commute? est-ce que tout sort dans la même langue dans une course donnée? Quel code utilisez-vous pour charger les chaînes localisées? –

+0

J'ai deux fichiers de chaînes, l'un dans le dossier de.lproj, l'autre dans en.lproj, dans ces dossiers se trouve le dossier Localizable.strings (tous les deux le même nom (pourrait être le problème)). A l'intérieur de ce dossier se trouve un fichier avec le nom respectif, de et en. A l'intérieur de ce fichier sont les chaînes. la langue est cohérente à chaque passage, elle en choisit arbitrairement un. J'utilise NSLocalizedString (@ "stringhandle", nil); –

Répondre

2

Supprimer les dossiers du projet (supprimer la référence uniquement) et ajouter le fichier localizable.strings du dossier en.lproj au projet (pas le dossier) .Maintenant, cliquez avec le bouton droit sur le fichier, cliquez sur Obtenir des informations et ajouter la localisation tu veux. Vous allez maintenant voir en et de dans le fichier localizable.strings. Maintenant, exécutez le projet. A travaillé pour moi !!

Questions connexes