Android多语言支持

时间:2017-01-19 06:26:58

标签: android

在我的Android应用程序中,我将提供应用程序的两种语言版本(德语,英语)。在德语版本中,与英语版本相比,可以使用一些额外的类别(额外屏幕)。最佳实践是什么,我应该跟着?

4 个答案:

答案 0 :(得分:2)

您必须在res目录中创建两个文件夹。

值(默认情况下,此处为英语语言。)

values-in(这是针对印度尼西亚语的),同样您也可以找到其他语言。

在这两个文件夹中,您将拥有一个名为strings.xml的文件。

现在将所有字符串放在这两个文件中,并使用相同的引用名称。

如下所示。

in values-in / strings.xml

<string name="date">Tanggal</string>

in values / strings.xml

<string name="date">Date</string>

并在MainActivity Class中使用此方法。

 public void changeLanguage(String lang) {
        Locale myLocale;
        if (lang.equalsIgnoreCase(""))
            return;
        myLocale = new Locale(lang);
        Locale.setDefault(myLocale);
        android.content.res.Configuration config = new android.content.res.Configuration();
        config.locale = myLocale;
        getBaseContext().getResources().updateConfiguration(config,
                getBaseContext().getResources().getDisplayMetrics());

    }

答案 1 :(得分:0)

您可以使用 -

获取用户语言
Locale.getDefault().getDisplayLanguage();

然后可能使用if else和布尔数据类型,您可以相应地对系统进行编程。

或者您可能希望用户使用RadioButtons自行选择他或她的语言。

将@strings用于文本内容,然后您可以使用编码轻松翻译

答案 2 :(得分:0)

您需要使用具有不同语言文本的相同密钥为GERMAN,ENGLISH语言创建string.xml文件。

答案 3 :(得分:0)

您必须在资源目录中创建两个文件夹,分别命名为“values”和“values-de”,分别用于英语和德语。此外,您可以根据设备语言设计布局。对于前英语的布局文件夹和德语的layout-de文件夹。设置TextViews字体大小的方法相同,您可以在各个语言的values文件夹中创建名为dimen.xml的文件。