Android i18n问题

时间:2010-10-11 12:58:38

标签: android internationalization

我在申请中遇到了i18n问题。当我更改手机语言时,应用程序使用的某些字符串会更改,但有些则不会。

以下是我的所作所为:

  1. 将语言设为中文。
  2. 启动该应用程序。当前活动使用中文字符串。
  3. 按HOME键,将手机语言更改为英语。
  4. 从历史记录中恢复申请(长按HOME键)。
  5. 结果:fore Activity使用的大多数字符串都更改为英文字符串,但有一个字符串,CheckBox的文本仍然是中文。

    在另一个包含CheckBox的Acitivty中,更改手机语言后也不会更改CheckBox的文本。

    我已多次尝试,只会CheckBox文字不会被更改。我可以肯定的是我在布局xml中使用<CheckBox android:text="@string/checkbox_text .../>"checkbox_text字符串有中文版和英文版。

    有人可以帮帮我吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

Afaik这应该都可以,但您需要确保在更改语言环境之间重新启动应用程序。

答案 1 :(得分:0)

我对RadioButton也有同样的问题。我在英语和日语之间切换语言。视图不是活动的“主要布局”。它是通过onCreate()中的LayoutInflater创建的。在onCreate()中,我确认RadioButton的标题被翻译为所选语言,但是在onResume()中,我发现它们被设置回前一种语言的文本。 不知道问题出在哪里。我的工作是记住RadioButtons的标题(使用Map映射视图及其getText())并在onResume()中再次设置它们。