在不更改设备设置的情况下更改应用程序的语言

时间:2011-10-05 05:37:50

标签: android

我正在制作一个Android应用程序,我希望在不改变设备语言的情况下更改微调器中选择特定语言的app语言。我为所有语言制作了不同的字符串文件。现在接下来要做什么? 谁能帮助我呢? 感谢

2 个答案:

答案 0 :(得分:5)

最简单的方法就是更改VM的语言环境,例如:

Locale locale=new Locale("zh");  //Chinese    
Locale.setDefault(locale);  //set VM's default locale

答案 1 :(得分:2)

一旦我想为我的应用程序实现多语言功能。 android甚至不支持该语言的地方。

我为所有应用程序制作了相应的字符串,并将它们存储在我的资源中。 然后我将语言选择保留在我的共享首选项中,以便下次用户打开应用程序时,我们可以显示以前选择的语言。我在Activity的OnResume()函数中实现了代码和语言的变化。代码就像:

        if(SelectedLanguage.compareTo("ar")==0)
        {
            String text = getString(R.string.ar_Options);
            tv_Options.setText(ArabicUtilities.reshape(text));

            text = getString(R.string.ar_Minimize);
            tv_Minimize.setText(ArabicUtilities.reshape(text));
        }
        else
        {
            String text = getString(R.string.en_Options);
            tv_Options.setText(text);

            text = getString(R.string.en_Minimize);
            tv_Minimize.setText(text);
        }           

我希望你能得到基本的想法。这样您就不必更改设备的语言,也可以为应用程序提供多种语言。