如何仅使用区域设置按名称获取资源?

时间:2014-12-22 09:21:50

标签: android

在我的应用程序中,我有一些依赖于翻译的资源字符串。 这些字符串的可用性取决于翻译(它们像常量一样工作)。

我使用getResources.getIdentifier(name, "string", getContext().getPackageName());

获取它

问题是由于默认字符串(英语)定义了本地翻译的值,它会影响其他翻译。

例如:

en翻译定义value_17es翻译不定义。但是当我使用es并尝试获取字符串value_17时,我会得到英文值。

如果在本地翻译中定义,我是否只能获得value_17? (在这种情况下为es

1 个答案:

答案 0 :(得分:0)

这不是通过API提供的,但您可以轻松实现它。

首先将所有英文字符串移动到en语言环境中。然后将所有默认字符串设为空。现在,当您要求es字符串时,您将获得特定于es的版本,或者为空的默认版本。