[Résolu] NSLocale et NSUserDefault
Grambo
Membre
Bonjour,
Je définis dans un NSUserDefault une langue spécifique. Cela fonctionne comme je le souhaite. L'interface est bien modifiée en conséquence après redémarrage de l'application.
[userDefaults setObject:[NSArray arrayWithObjects:@la,nil] forKey:@AppleLanguages];
​Je recontre un problème lorsque je veux recharger la liste des langues du système dans l'ordre de préférence de l'utilisateur.
Je pensais pour cela utiliser [NSLocale preferredLanguages], mais à ma grande surprise elle ne contient que le langage que j'ai défini ci-dessus (la) et non les langages définis dans "Préférences Système".
Quelqu'un aurait-il une idée comment les récupérer?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Dans les UserDefaults:
NSLog(@%@",[[NSUserDefaults standardUserDefaults] objectForKey:@AppleLanguages]);
[EDIT]
mais tu le modifies avec setObject:[NSArray arrayWithObjects:@la,nil] forKey:@AppleLanguages];
donc ça marche pas !
Peut-être en créant un nouveau userdefaults:
pas testé ...
Je viens de tester, newUserDefault prend également la valeur "la"
Il faut trouver comment récupérer la liste du système.
Bon, finalement, j'ai trouvé. Pour récupérer les langues initiales des préférences système, il suffit de supprimer la clef AppleLanguage de userDefault