Android字符串数组语言环境验证

时间:2011-10-12 12:01:30

标签: android locale

我想知道是否有人在res / values目录中遇到了验证字符串数组的好方法。

我使用默认语言环境通过代码创建,并且可能具有类似

的资源
<string-array name="array_example1">
    <item>One</item>
    <item>Two</item>
    <item>Three</item>
</string-array>

然后,当应用程序的翻译人员进行翻译时,他们也会创建一个字符串数组。有时,如果一个翻译落后于另一个资源文件可能没有数组中的条目(可能只有上述示例中的“一个”和“两个”)

有没有简单的方法来验证条目数是否不匹配?不匹配可能会导致代码出现问题,但由于应用程序有多种语言的10个字符串数组,因此检查它们是否相符非常耗时。

其他人对此有何看法?

1 个答案:

答案 0 :(得分:49)

我找到了一种更好的方法来阻止崩溃。我没有意识到字符串数组可以通过以下方式引用字符串资源:

<string-array name="array_example1">
    <item>@string/resOne</item>
    <item>@string/resTwo</item>
    <item>@string/resThree</item>
</string-array>

然后添加

<string name="resOne">One</string>
<string name="resTwo">Two</string>
<string name="resThree">Three</string>

因此,如果存在不匹配,则会显示该选项的默认语言,并因不同大小的列表而停止崩溃