2010-10-11 4 views
3

J'ai rencontré un problème i18n dans mon application. Lorsque je change la langue du téléphone, certaines des chaînes utilisées par l'application sont modifiées, mais pas toutes.Android Problème i18n

Voici ce que je l'ai fait:

  1. Définir la langue chinoise.
  2. Lancez l'application. L'activité en cours utilise des chaînes chinoises.
  3. Appuyez sur la touche HOME, changez la langue du téléphone en anglais.
  4. Reprendre l'application à partir de l'historique (appui long sur la touche HOME).

Résultat: La plupart des chaînes utilisées par l'activité avant sont changées en chaînes en anglais, mais il y a une chaîne qui est le texte d'un CheckBox est encore chinois.

Dans une autre activité qui contient également un CheckBox, le texte de CheckBox ne sera pas non plus modifié après modification de la langue du téléphone.

J'ai essayé plusieurs fois, le texte CheckBox ne sera pas modifié. Ce que je peux être sûr, c'est que j'utilise <CheckBox android:text="@string/checkbox_text .../>" dans la mise en page xml et la chaîne checkbox_text a la version chinoise et la version anglaise.

Quelqu'un peut-il m'aider s'il vous plaît? Merci d'avance!

+0

Vous avez des nouvelles? Je rencontre le même problème – pandre

Répondre

1

Cela devrait fonctionner, mais vous devez vous assurer que l'application est redémarrée entre les changements de paramètres régionaux.

0

J'ai le même problème avec RadioButton. Je change de langue entre l'anglais et le japonais. La vue n'est pas la "disposition principale" de l'activité. Il est créé via LayoutInflater dans onCreate(). Dans onCreate(), j'ai confirmé que les titres de RadioButton sont traduits directement dans la langue sélectionnée, mais dans onResume(), j'ai trouvé qu'ils sont redéfinis sur le texte dans la langue précédente. Je ne sais pas où le problème est. Mon travail consiste à se souvenir du titre des RadioButtons (en utilisant une carte pour mapper les vues et leur getText()) et les redéfinir dans onResume().

+0

J'ai trouvé que si je mets android: id au RadioButton, son texte ne change pas après avoir changé le réglage de la langue comme ci-dessus. Si je ne spécifie pas android: id, le texte est modifié. Est-ce un bug Android? – umbalaconmeogia