在我的Android应用项目的
更新:现在我将自定义(复杂)XML文件存储在
简单示例:
我希望能够利用Android字符串资源的便利优势进行语言本地化。在上面的示例中,我想将“Hello! How are you?”保存在我的“res/values/strings.xml”文件中,然后以以下方式引用:
我不想创建不同的语言
更新2:我现在已经发现你从
assets
文件夹中,我存储了描述游戏操作的自定义XML文件。由于它们有些复杂,无法直接编写为Android资源。更新:现在我将自定义(复杂)XML文件存储在
res/xml
文件夹中。简单示例:
<dialog>
<npc>1</npc>
<text>Hello! How are you?</text>
</dialog>
我希望能够利用Android字符串资源的便利优势进行语言本地化。在上面的示例中,我想将“Hello! How are you?”保存在我的“res/values/strings.xml”文件中,然后以以下方式引用:
<text>@string/dialog_1_text</text>
我不想创建不同的语言
res/xml
文件夹,然后将所有xml文件复制并完全翻译它们。我只想翻译其中的一部分,并通过引用String资源轻松实现。更新2:我现在已经发现你从
Resource.getXml()
获得的XMLParser有一个名为getAttributeResourceValue()
的方法,它可以自动将属性(如randomAtt="@string/random_string"
)转换为实际的Resource ID。
然而,在XML文件中,仍然没有明确的依赖性,也没有字符串的预览或警告,当你输入无效的资源时。但是 - 既然有这样的方法 - 我强烈相信可以让验证器只允许在一些自定义属性中使用字符串资源。
@string/
,但没有自动完成,所以我认为它是不可引用的。 - Tobias Baumeister