J'essaie de définir la langue de mon application par programmation, mais cela ne change que certaines de mes chaînes. J'ai des valeurs de dossier où sont les chaînes par défaut en anglais. Ensuite, j'ai créé values-fr et traduit chaque chaîne en français moi-même, alors maintenant j'ai le dossier des valeurs par défaut (anglais) où j'ai mes fichiers anglais strings.xml et values-fr où j'ai mes chaînes françaises.xmlLangue ne changera pas
et voici le code que j'utilise pour changer le onCreate linguistique et onResume:
String languageToLoad = "fr"; // your language
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
mais il ne change que quelques-unes des chaînes, par exemple toutes les chaînes dans ma préférence se changer, mais les cordes de l'activité principale restent les mêmes . Une idée de ce qui pourrait causer ça?
Ce code est-il appelé avant de gonfler votre vue d'activité? – UgglyNoodle
Supprimer 'getBaseContext()'. Essayez 'getResources() ...' à la place 'getBaseContext(). GetResources() ...' – pawelzieba
oui il est appelé dans onCreate et aussi dans onResume –