web-dev-qa-db-fra.com

NSLocale preferredLanguages ​​objectAtIndex: 0 renvoie toujours "en"

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"?

Here is screenshot

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?

Mises à jour: 1

  • Supprimez Xcode ainsi que des simulateurs, puis réinstallez-le en le téléchargeant à partir du Mac Store.
  • Créer un nouveau projet simple, changer le langage du simulateur 
  • Toujours obtenir toujours "en".

Oh! Qu'est-ce qui ne va pas....


Mises à jour: 2

  • Aujourd'hui, Yosemite a été réinstallé en reformatant la HD
  • Télécharger Xcode 6.1
  • Démarrer un nouveau projet par défaut simple
  • Mettez ces codes
  • Changer/Ajouter la langue du simulateur, japonais, néerlandais, anglais,
  • Courir
  • Oh mon Dieu! Vous n'avez encore que "en", japonais et anglais non trouvés!

Pourquoi encore un seul "en" pourrait être trouvé? Où sont le japonais et l'anglais?

Qu'est-il arrivé aux simulateurs?

Y a-t-il quelque chose qui m'a manqué

25
SLU

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

28
J.Williams

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:

  • Xcode 8.2.1, iOS 10
  • Xcode 9.4.1, iOS 11

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.

0
pkamb