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

And*_*rew 23 android locale

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

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

<string-array name="array_example1">
    <item>One</item>
    <item>Two</item>
    <item>Three</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

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

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

其他人对此有何看法?

And*_*rew 51

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

<string-array name="array_example1">
    <item>@string/resOne</item>
    <item>@string/resTwo</item>
    <item>@string/resThree</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)

然后加

<string name="resOne">One</string>
<string name="resTwo">Two</string>
<string name="resThree">Three</string>
Run Code Online (Sandbox Code Playgroud)

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