不更改设备设置修改应用程序语言

3

我正在制作一款Android应用程序,希望在下拉框中选择特定语言后更改应用程序的语言,而不更改设备的语言。我已经为所有语言制作了不同的字符串文件。接下来该怎么做呢?

有人能帮我吗?谢谢。

2个回答

5

最简单的方法就是更改虚拟机的区域设置,例如:

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

1
你能详细介绍一下吗? - ekjyot

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);
        }           

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接