1

私はstrings.xmlの質問があります

私のアプリは英語です。

values/strings.xml英語です

アプリには他にもたくさんの言語があります

私の最新の文字列キーの追加はvalues-en/strings.xml、英語のロケールフォルダにありますがvalues、デフォルトの言語フォルダにはありません

これは、でのみ定義されている文字列にアクセスしようとするビューをロードする英語以外のユーザーにどのように影響しますvalues-enか?OSはその1つのファイルで文字列を見つけて、英語で表示しますか?

これはデフォルト値の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 に答える