【问题标题】:How do you language options in your kivy app您如何在 kivy 应用程序中使用语言选项
【发布时间】:2020-04-22 10:45:19
【问题描述】:

我正在尝试使用 kivy 创建一个应用,并希望添加一个语言选项。

我想知道这是否意味着应用程序以英语显示的每个单词都必须手动翻译。但这意味着代码的长度会增加一倍,而且效率似乎很低。

或者我可以为每种语言创建一个文件,该文件将包含将显示的所有单词。例如。

import languages
print(languages.pt(greet))

输出会是这样的

"Olá. Tudo bem!"

或者还有其他方法吗?

【问题讨论】:

标签: android python-3.x language-features


【解决方案1】:

您可以访问android开发者website了解更多信息。

您可以通过以下步骤在您的应用中支持另一种语言:

  1. res -> values 中打开 strings.xml 文件。

  2. 在右上角您可以看到打开编辑器。点击它

  3. 在左上角的新窗口中,点击添加语言环境图标

  4. 选择您想要支持的任何语言(在这种情况下,查找并选择English (EN))。

  5. 您现在可以看到此语言环境已添加到您的 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());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2020-07-15
    • 2012-08-18
    • 2012-10-06
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    相关资源
    最近更新 更多