各种语言的android strings.xml,场景

时间:2013-02-20 16:16:05

标签: android localization locale

我有一个strings.xml问题

我的应用是英文版。

values/strings.xml是英文

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

我最新的字符串键添加位于values-en/strings.xml,英语区域设置文件夹,但不在values默认语言文件夹

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

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

感谢您的见解

1 个答案:

答案 0 :(得分: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文件夹,因为它们不符合条件。或者,默认情况下始终选中“值”文件夹,因此将其放在那里将适用于所有语言