3 votes

Comment définir la langue et la région de l'application iPhone dans main.h en remplacant la valeur des paramètres?

Dans le cas où vous souhaitez une application dans une langue/région/format différente de la valeur des paramètres sélectionnés de l'iPhone. Par exemple, une application avec ses propres paramètres internes de langue.

Je sais comment changer la langue, mais qu'en est-il de la région/format ?

Pour remplacer facilement la langue sélectionnée dans les paramètres, vous pouvez exécuter ce code dans le principal

 [[NSUserDefaults standardUserDefaults]
  setObject:[NSArray arrayWithObject:@"sv"]
  forKey:@"AppleLanguages"];

Pour voir le changement en action, permettez-nous d'afficher les paramètres actuels avec le code ci-dessous

 NSString *locale = [[NSLocale currentLocale] localeIdentifier];
 NSLog(@"locale actuel : %@", locale);
 NSArray* preferredLangs = [NSLocale preferredLanguages];
 NSLog("Langues préférées : %@", preferredLangs);

Avec la sortie suivante

 locale actuel: en_US
 Langues préférées: ( sv )

Mais je veux changer ce local en sv_SE

Comment puis-je de la même manière remplacer le local (région/format) dans les paramètres de l'iPhone ?

0voto

Alex Zak Points 669

Il y a deux autres clés intéressantes dans les paramètres utilisateur. Il y a 'AppleLanguages' et 'AppleLocale'. Vous pouvez les définir à votre guise... :)

Il suffit de coller ceci quelque part tôt dans votre code, et vous devriez obtenir les résultats que vous recherchez... :)

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"sv"]
                                          forKey="AppleLanguages"];
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"sv", @"en", nil]
                                          forKey="NSLanguages"];
[[NSUserDefaults standardUserDefaults] setObject="sv_SE"
                                          forKey="AppleLocale"];

Prograide.com

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.

Powered by:

X