我正在尝试使用kivy创建应用,并希望添加语言选项。
我想知道这是否意味着应用程序显示的每个单词都必须手动翻译。但这将意味着代码的长度将是原来的两倍,并且效率低下。
或者我可以为每种语言创建一个文件,该文件将包含所有要显示的单词。例如。
import languages
print(languages.pt(greet))
输出结果将类似于
"Olá. Tudo bem!"
或者还有其他方法吗?
您可以访问android开发人员website了解更多信息。
您可以按照以下步骤在您的应用中支持另一种语言:
in res-> values打开strings.xml文件。
在右上角,您可以看到打开编辑器。点击它
在左上角的新窗口中,单击添加区域设置图标
选择您要支持的任何语言(在这种情况下,找到并选择English(EN)。)>]
您现在可以看到此语言环境已添加到您的values
现在您已经添加了另一种语言。请记住,如果您在default strings.xml
中添加了任何文本,请在strings.xml (EN)
文件中添加相同的文本。
所以到现在为止,您都有所支持的两种语言的文本。但是如何使用English
语言?
在您的活动中,在onCreate
方法内添加以下代码:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setLocale("en");
...
}
private void setLocale(String locale) {
Resources resources = getResources();
Configuration configuration = resources.getConfiguration();
configuration.setLocale(new Locale(locale.toLowerCase()));
resources.updateConfiguration(configuration, resources.getDisplayMetrics());
}