1

我有一个 strings.xml 问题

我的应用程序是英文的。

values/strings.xml是英文的

应用程序中还有许多其他语言

我最新的字符串键添加在values-en/strings.xml英语语言环境文件夹中,但不在values默认语言文件夹中

这将如何影响加载视图的非英语用户尝试访问仅在中定义的字符串values-en?操作系统会在那个文件中找到字符串并用英文显示吗?

这对我来说很棘手,因为它不在默认值 xml 文件中

感谢您的洞察力

4

1 回答 1

1

将字符串系统想象为一系列 if 条件。首先我们检查用户的语言,一旦我们检查了该特定语言的文件夹是否包含我们正在寻找的字符串。如果是,我们返回那个字符串,否则我们默认检查“values”文件夹。

if (language.equals("en") {
   stringsFolders = "values-en";
} else if (language.equals("es") {
   stringsFolders = "values-es";
} 

if (stringsFolder.contains(key) {
    return stringsFolder.get(key);
} else if ("values".contains(key) {
    return "values".get(key);
} else {
    throw CantFindException();
}

如果一个字符串属于 values-en 并且西班牙用户查找它,他们将没有机会检查 values-en 文件夹,因为他们没有资格获得它。或者,默认情况下始终选中“值”文件夹,因此将其放置在该文件夹中适用于所有语言

于 2013-02-20T16:31:32.947 回答