Obtenir la langue actuelle d'iOS (y compris le code pays)
J'ai besoin d'obtenir une chaîne de caractères comme en_US
ou es_ES
dans iOS.
Évident de la méthode est d'utiliser [NSLocale currentLocale]
et obtenir la langue d'infos à partir de là. Cependant, que vous offre la région de "format" et non la langue de l'appareil, ce qui signifie que si vous avez la langue de l'appareil en anglais, mais la région de format comme "espagne", il vous signale que es_ES
.
Si vous avez besoin de la langue de l'appareil, vous devez le faire à la place:
[[NSLocale preferredLanguages] objectAtIndex:0]
Cependant, que seulement vous donne la langue, de sorte que vous obtenez quelque chose comme en
ou es
sans le code pays à la fin.
Comment puis-je obtenir le code de pays correctement, comme Safari?
source d'informationauteur hasvn
Vous devez vous connecter pour publier un commentaire.
Essayer avec ce code:
Ok, voyant arriver la bonne info de iOS est sans doute pas possible, voici un hackish solution, mais qui donne à la sortie j'avais besoin. Il n'est pas complet et il ne vous donnera pas de résultat précis, dans certains cas (comme pour l'arabe), mais c'est le meilleur que j'ai pu obtenir.
Vérifier le code ci-dessous:
Swift
Sortie serait comme
Source
Je suis en utilisant le moment. J'ai couru quelques cas de test et il semble ok, mais je ne suis pas convaincu que c'est une solution robuste. Je suis surpris de ne pas trouver une réponse claire à ce problème simple. Je ne recommanderais pas ma solution, mais j'espère que cela peut susciter la discussion.
Simplement faire ceci: