iOS: Comment faire pour Obtenir l'Appareil Paramètre de Langue Actuel?
Il y a quelques fonctionnalités au sein de mon application qui sont censés être basé sur les paramètres de langue du dispositif sur lequel il est en cours d'exécution.
Je veux obtenir le réel de la langue et non pas de certains paramètres de pays. Ennemi exemple, si la langue est l'anglais, je ne m'inquiète pas si c'est NOUS, au royaume-UNI, l'Australie, etc...
Je suis familier avec les NSLocale
objet, mais il semble se rapporter à la Region Format
réglage et de ne pas le Langue de configuration (voir la capture d'écran ci-dessous) donc, quand j'essaie de récupérer la langue en utilisant [locale displayNameForKey:NSLocaleIdentifier value:[locale localeIdentifier]
je obtenir des choses comme English (United States)
au lieu de English
; aussi, je pense que ce dont j'ai besoin est le Langue des données et non de la Région de Format (suis-je le droit?).
Quelqu'un peut-il m'indiquer comment faire pour récupérer le paramètre de langue?
Vous devez vous connecter pour publier un commentaire.
Préférés de l'utilisateur langues sont stockées peuvent être récupérées à partir de la locale sous forme de tableau et de la langue actuelle de l'identifiant est le premier objet de ce tableau:
Si vous voulez de la langue en forme plus lisible ensuite utiliser
displayNameForKey:value:
méthode de NSLocale:NSLocale preferredLanguages
changé. Si avant vous avez été faire "fr" seulement, dans iOS 9, vous obtiendrez "en-US" ou "fr-JP", etc. Référence: happyteamlabs.com/blog/...Essayez ceci:
L'obtention de la langue et de la région dans
Swift
:Dans mon cas, je suis arriver:
NSBundle.mainBundle().preferredLocalizations
ne donne pas de périphérique en cours de langue.La donne la langue que vous avez donné dans CFBundleDevelopmentRegion de l'info.plist si CFBundleAllowMixedLocalizations est vrai dans l'info.plist alors premier élément de CFBundleLocalizations en info.plist est retournéSwift:
NSBundle.mainBundle().preferredLocalizations
ne donne pas de périphérique en cours de langue.La donne la langue que vous avez donné dans CFBundleDevelopmentRegion de l'info.plist si CFBundleAllowMixedLocalizations est vrai dans l'info.plist alors premier élément de CFBundleLocalizations en info.plist est retournéSolution de travail:
Trouver la solution dans XCode auxiliaires du document, il a écrit:
Arriver le Langage Courant
Pour obtenir de la langue que l'application est à l'aide de l'application principale bundle, utilisez le preferredLocalizations méthode dans le NSBundle classe:
NSString *languageID = [[NSBundle mainBundle] preferredLocalizations].firstObject;
Dans Swift 4:
Il vous donne juste le code de langue, pas de code de pays.
Utilisez code ci-dessous pour récupérer Localisée langue sans avoir de la difficulté à la salle de l'inde, en-us, etc..
Et Après ios9 ce code nécessité de prendre en cosideration
De connaître le langage courant sélectionné à l'intérieur de votre localisations utilisation
Exemple:
Pour obtenir deux lettres du mot
Swift: