2

有没有办法用一种以上的语言(values-en-es)标记字符串资源文件夹?

我的问题是,在某些设备上,希伯来语的语言代码是“iw”,而在其他设备上是“he”。我目前的解决方案是制作两个内容相同的文件夹,只分别更改它们的名称。

我想知道是否有更准确的方法来做到这一点?

4

2 回答 2

1

资源文件夹名称可以有多个限定符,但每种类型只有一个限定符:

例如

values-en-rGB //Language + Region

有效但

values-en-fr//Language + Language

无效,因为它对单个限定符有多个值。所以

values-iw-he

不可能。

资料来源:Android 开发者,限定符名称规则。

但是,这并不意味着您必须复制文件。相反,您可以创建别名资源

Android 开发人员这样解释 Alias Resouces:

创建别名资源:当您有一个想要用于多个设备配置的资源(但不想作为默认资源提供)时,您不需要将同一资源放在多个替代资源中目录。相反,您可以(在某些情况下)创建一个替代资源,作为保存在默认资源目录中的资源的别名。

例如,一个文件夹中的字符串资源

<string name="app_name">My Awesome App</string>

可以在另一个文件夹中的另一个字符串资源中引用为:

<string name="application_name">@string/app_name</string>

更多关于Android 开发者的别名资源。

于 2012-12-18T13:29:24.610 回答
0

您可以在 Eclipse 中创建文件链接,如此所述。因此,您拥有values-iw/strings.xml真正的价值,并在文件夹中创建指向该文件的文件链接values-he。这样做的好处是您不必编辑 2 个文件,链接的“文件”会自动更新。

于 2012-12-18T13:56:13.017 回答