Android: 如何在多语言资源中重复使用字符串

3
自从我开始我的第一个Android项目以来,这个问题就一直困扰着我。考虑到多语言字符串资源,其中“en”为默认语言:
res/values/strings.xml     <--- The default language 'en'
res/values-de/strings.xml  <--- de
res/values-fr/strings.xml  <--- fr
res/values-it/strings.xml  <--- it

有了这个文件夹结构,该应用在Android市场的入口中仅显示对“默认语言、德语、法语和意大利语”的支持。是的,在列表中缺少英语。

是否可以在一个额外的“values-en”文件夹中“包含”来自“values”文件夹中完整的默认字符串资源。是的,我不想在新文件夹中维护该文件,因为所有内容都已经在默认字符串资源中声明了。

非常感谢您的帮助。

哈拉尔德

1个回答

4
我不太明白问题出在哪里。只需创建一个values-en目录,并将XML从默认目录复制粘贴到新目录中即可。
如果您只想拥有一种符号链接到默认值目录,以便在更改默认目录中的内容时,链接目录中的文件表示相同的更改,则只需转到文件->新建->文件夹,选择要创建新文件夹的位置(在您的情况下是res目录),然后点击高级 >>,在那里选择链接到备用位置(链接文件夹),然后浏览到您想要链接到的目录(在您的情况下是values目录),完成操作。
现在,每当您更改values目录中的内容时,所有更改都适用于新链接的目录。

是的!复制strings.xml不是一个选项(需要重复维护)。但是我在文件夹和文件创建对话框中忽视了高级按钮。我手动创建了values-en文件夹,并创建了指向默认文件夹的链接文件strings.xml。非常好的解决方案。我知道,现在apk中的这些字符串是重复了,但我希望客户能看到重要的语言翻译。谷歌应该添加一个框,可以定义默认语言是什么。感谢你的帮助。 - Harald Wilhelm
不幸的是,这对我没有起作用 - 链接已创建,但在安装后,我仍然只看到默认语言(默认为英语,然后是常规捷克语(cs),链接的语言是斯洛伐克语(sk) - 我看到英语,而不是捷克语(正如我应该看到的)。有什么帮助吗? - Erveron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接