Bonjour a tous,
Voila je debute en android, et j'aimerais permettre a l'utilisateur de pouvoir changer de langue.
Mais je ne vois pas du tous comment faire, quelqu'un connaitrait il un tutorial, ou pourrait eclairer ma lanterne ?
Version imprimable
Bonjour a tous,
Voila je debute en android, et j'aimerais permettre a l'utilisateur de pouvoir changer de langue.
Mais je ne vois pas du tous comment faire, quelqu'un connaitrait il un tutorial, ou pourrait eclairer ma lanterne ?
Il n'est pas vraiment utile (sauf cas particulier) d'avoir un changement de langue interne dans l'application.
Il est plus communément fait de se baser sur la locale du téléphone avec l'i18n des répertoires values, pour que l'application soit, si possible, dans la langue native de l'utilisateur.
Faire un changement de langue dans l'application implique une vérification de la langue courante de l'application dans chaque onResume (je présume) et un rafraîchissement au besoin.
A priori, tu peux changer dynamiquement la Locale avecCode:getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Oui bien sure!
Il faut éditer la langue dans le getResources().
EDIT :Code:
1
2
3
4
5
6
7 String language = "fr"; // ta langue Locale locale = new Locale(language); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
Hizin est trop rapide pour moi :D
Merci pour vos reponses rapide, bon pour aue l'utilisateur pussie choisir sa langue j'ai utilise des radio bouton, puis un 3eme bouton est utilise pour savoir quand l'utilisateur a definit son choix
Donc j'aimerai savoir s'il est possible de savoir quel bouton a ete coche pour pouvoir l'utiliser ensuite en variable pour l'utiliser dans une boucleCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 RadioButton radio_fr = (RadioButton) findViewById(R.id.radioButton1); RadioButton radio_en = (RadioButton) findViewById(R.id.radioButton2); Button startButton2 = (Button) findViewById(R.id.button2); startButton2.setOnClickListener(new View.OnClickListener(){ public void onClick(View v) { // we launch a new methode StartChangement(); } } ); private void StartChangement() { String language = "fr"; // ta langue Locale locale = new Locale(language); Locale.setDefault(locale); Configuration config = new Configuration(); config.locale = locale; getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); }
VoilaCode:
1
2
3
4
5 if (radio_fr.isChecked()) // Francais else // Anglais
Juste une remarque....
La philosophie d'android est d'éviter au maximum les clics...
Là, en l'occurrence, tu proposes d'utiliser un bouton de "validation", sauf que l'action qu'il valide n'est ni définitive (l'utilisateur peut rechanger quand il veut à priori) ni destructive (aucune donnée n'est perdue/modifiée). Donc le bouton de validation est inutile et devrait être supprimé, et réagir directement sur le click des radio-button...
Mais c'est un avis personnel hein ! :)
Merci pour l'aide, je vais essayre ceci desuite