Je développe une application pour Mac OS X. Je souhaite modifier le contenu de l'indication par la langue des langues (anglais, espagnol, etc.) de l'utilisateur de l'application, comment obtenir des informations sur quelle langue est utilisée? P >
6 Réponses :
Vous pouvez utiliser l'API Nslocale pour obtenir cette information, mais il n'est pas nécessaire de faire ce que vous voulez faire. OS X a Prise en charge de la localisation intégrée au système d'exploitation - Tous Il faut faire est de fournir les fichiers de langue appropriés et l'utilisateur peut sélectionner la langue qu'il souhaite. P>
Merci beaucoup! Je suis heureux, si tu me donnes des tests d'exemple
Ce n'est pas exactement le genre de chose où vous pouvez simplement donner l'exemple de code, car les interfaces utilisateur MAC sont généralement stockées dans des NIB et donc il n'y a pas vraiment de code responsable. Fondamentalement, il y a une structure de répertoire que les ressources de votre application doivent suivre et le système d'exploitation gérera le reste pour vous. Lisez les documents de localisation dans le lien que je vous ai donné et vous verrez comment cela fonctionne. Pour les occasions où vous rendantez du texte programmatique, vous utiliserez généralement la fonction NsLocalizedString ().
Vous cherchez à "localiser" votre application. Pour commencer, consultez les documents Apple ici: Internationalisation - Documents du développeur Apple . Sans en savoir plus sur votre application spécifique, il serait difficile de suggérer quelque chose de plus ici! P>
NSLog(@"localeIdentifier: %@", [[NSLocale currentLocale] localeIdentifier]);
[[Nslocale CurrentLocale] DisplayNameForKey: NslocalIdentifier Valeur: [[[[[Nslocale CurrentLocale] LocalIdentifier]] code> peut être utilisé pour obtenir la version plaine-anglaise du localidiifier
Snippet de code
NSLocale *locale = [NSLocale currentLocale]; [locale objectForKey:NSLocaleLanguageCode]
Vous pouvez utiliser n'importe quel moyen des deux manières ci-dessous:
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0]; NSLog(@"Language: %@", language);
Pour être exact, il y a un changement avec iOS 9 et plus élevé où [Nslocale PreferredLanguages] est maintenant de retour - au lieu de seulement. Donc, il vaut mieux faire: