Je voudrais montrer le langage courant que le dispositif de l’interface utilisateur utilise. Quel code dois-je utiliser ?
Je veux ceci comme un NSString en énoncés entièrement de format. (Pas @ « fr_FR »)
Je voudrais montrer le langage courant que le dispositif de l’interface utilisateur utilise. Quel code dois-je utiliser ?
Je veux ceci comme un NSString en énoncés entièrement de format. (Pas @ « fr_FR »)
Les solutions proposées seront effectivement de retour de la région actuelle de l'appareil - pas la langue actuellement sélectionnée. Ce sont souvent les mêmes. Cependant, si je suis en Amérique du Nord, et j'ai mis ma langue Japonaise, de ma région sera toujours l'anglais (États-unis). Afin de récupérer la langue sélectionnée, vous pouvez le faire:
NSString * language = [[NSLocale preferredLanguages] objectAtIndex:0];
Cela renvoie un code à deux lettres de la langue actuellement sélectionnée. "en" pour l'anglais, "es" pour l'espagnol, "de" pour l'allemand, etc. Pour plus d'exemples, voir cette entrée de Wikipedia (en particulier, la 639-1 colonne):
Ensuite, c'est une simple question de convertir le code de deux lettres à la chaîne que vous souhaitez afficher. Donc, si c'est "fr", "display" en anglais".
Espérons que cela aide quelqu'un qui cherche à se différencier entre la région et la langue actuellement sélectionnée.
MODIFIER
La peine de citer les informations d'en-tête de NSLocale.h:
+ (NSArray *)preferredLanguages NS_AVAILABLE(10_5, 2_0); // note that this list does not indicate what language the app is actually running in; the [NSBundle mainBundle] object determines that at launch and knows that information
Les personnes intéressées en application de la langue prendre un coup d'oeil à @mindvision réponse
La réponse sélectionnée retourne la langue actuelle du dispositif, mais pas la langue utilisée dans l’application. Si vous ne fournissez pas une localisation pour la langue par défaut dans votre application, le premier dans l’ordre de préférence est utilisé.
Pour savoir la langue actuelle sélectionnée dans vos localisations utilisent
Exemple :
Traduire le langage des codes tels en_US en anglais (États-Unis) est construit en fonction de et
ne se soucie pas où obtenir les codes de langue de. Vraiment n’y a donc aucune raison de mettre en place votre propre traduction comme l’indique la réponse acceptée.
Estampes : Anglais, allemand, suédois
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.