将非本地化字符串添加到Android App

时间:2012-10-13 12:41:13

标签: android xml localization

我有一个应用程序通过添加valuesvalues-esvalues-ru等文件夹进行了一些本地化。在每个文件夹中我都有一个名为strings.xml的文件,猜猜是什么,字符串。 其中一些需要使用所有语言,但有些只需要一个满足应用程序的内在需求。但是如果values/strings.xml中的字符串在此文件的其他版本中丢失,则会导致错误。我尝试用

添加一个文件
<resources>
    <string name="key">Value</string>
     ...
</resources> 

使用不同的名称,例如values/additionalStrings,但它没有用。所以我只是复制了所有文件中的所有字符串来修复应用程序。但是我怎样才能避免它并在单独的.xml中存储一些额外的字符串?

问题的其他部分: 此外,如果有可能(我猜,它是)存储更多信息,如

 <resources>
        <customObject name="myName">
           text = "Value"
           extraField = 3.14
        </customObject >
         ...
 </resources>

在自定义xml中并通过通常的R.filename.objectName.subFieldName获取它,它会很棒。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您要存储的字符串类型不是XML,因此尝试将它们存储在XML文件中并没有多大意义。 Android不会解析元素的内部内容,并根据它找到的内容在R文件中创建常量。

另一种方法是将文件存储为纯文本或其他格式(如JSON),并将文件放在应用程序的raw文件夹中。然后,您可以使用openRawResource()阅读它,然后根据需要进行解析。