有没有办法用多种语言标记字符串资源文件夹(values-en-es)?
我的问题是希伯来语在某些设备上的语言代码为“iw”,而在其他设备上则是“他”。 我目前的解决方案是制作两个具有相同内容的文件夹,只更改其名称 分别
我想知道是否有更准确的方法来做到这一点?
答案 0 :(得分:1)
资源文件夹名称可以有多个限定符,但每种类型只能有一个限定符:
例如
values-en-rGB //Language + Region
有效,但
values-en-fr//Language + Language
无效,因为它具有单个限定符的多个值。所以
values-iw-he
是不可能的。
来源:Android开发者,Q ualifier Name Rules.
但这并不意味着您必须复制文件。相反,您可以创建 别名资源 。
Android开发者解释说Alias Resouces是这样的:
创建别名资源:如果您有一个资源要用于多个设备配置(但不想作为默认资源提供),则不需要将相同的资源放在一个替代资源目录。相反,您可以(在某些情况下)创建备用资源,该资源充当保存在默认资源目录中的资源的别名。
例如,一个文件夹中的String资源
<string name="app_name">My Awesome App</string>
可以在另一个文件夹中的另一个String资源中引用为:
<string name="application_name">@string/app_name</string>
Android开发者身上的
答案 1 :(得分:0)
您可以按照here所述,在eclipse中创建文件链接。
因此,您的values-iw/strings.xml
具有真实值,并在values-he
文件夹中为该文件创建文件链接。这样做的好处是您不必编辑2个文件,链接的“文件”会自动更新。