La langue du simulateur étant déjà passée au japonais, pourquoi [[NSLocale preferredLanguages] objectAtIndex:0]
toujours renvoyer "en"
?
Aucune langue ni région préférée n'est liée à "en", d'où vient "en"
?
Essayé d’obtenir [[NSLocale preferredLanguages] objectAtIndex:
2 ]
, puis l’écran affiche *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFArray objectAtIndex:]: index (2) beyond bounds (1)
Cela signifie-t-il qu'aucune langue n'est définie dans le simulateur? Si étrange!
Cela ne s'est jamais produit avant la mise à niveau vers Xcode 6.1 avec iOS8.1/7.1.
En attendant, essayé la même chose sur mon iPhone 5, la sortie de la console chose correcte.
Pourquoi si bizarre? Est-ce que quelqu'un a de tels problèmes?
Oh! Qu'est-ce qui ne va pas....
"en"
, japonais et anglais non trouvés!"en"
pourrait être trouvé? Où sont le japonais et l'anglais?C'est un bug. Cela me rendait fou. Apple le sait déjà.
Voir cette réponse:
iOS8.1 Simulator utilise toujours la disposition du clavier américain malgré un clavier allemand
et ça:
Localisation du simulateur iOS 8.1 brisée (NSLocalizedString)
(Dans la réponse, il y a un correctif temporaire modifiant le schéma)
Meilleur, Gigi
Mon simulateur iOS a soudainement commencé à signaler "en"
plutôt que "en-US"
. Il semble donc que ce problème soit toujours d'actualité.
Reproduit en:
Je suis allé dans les paramètres de langue et l'anglais et les États-Unis ont été sélectionnés. J'ai choisi le Canada et le français et j'ai reçu "fr-CA"
. Je l'ai ensuite remis en marche et j'ai recommencé à obtenir "en-US"
. Je n'ai pas pu reproduire le problème "en"
depuis.
Il semble donc que nous ne pouvons pas transmettre les valeurs de [NSLocale preferredLanguages]
en supposant qu'il s'agira de paires langue-région.