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