Android扩展默认语言环境

时间:2015-07-28 13:35:36

标签: android localization android-resources

我继承了一个旧的Android应用程序,我做的第一件事就是将构建从Ant更改为gradle。 该应用程序构建正常,但当我尝试运行发布目标时,gradle无法抱怨缺少翻译。

资源文件夹的文件夹结构是:(默认语言,在values文件夹中是en-GB)

res/
   values/
        /file1.xml
        /file2.xml
        /file3.xml
   /values-us/
        /file2.xml (containing just the few lines that differ from /value/file2.xml
   /values-dk/
         file1.xml
         file2.xml
         file3.xml

因此,基本上linter是正确的,values-us文件夹中缺少大多数文件。 但是,单个语言环境包含大约20个文件,每个文件大约有100多行,默认值和US之间的差异可能总共为5行,因此必须维护两个语言环境的所有值似乎不切实际。 为了清楚起见,我绝对希望发布目标失败,当values-dk /或values-de /缺少翻译时,我就像某种方式将美国语言环境标记为默认语言的扩展名。这可能吗?

2 个答案:

答案 0 :(得分:0)

我认为Lint发现了一些不在res / values中但在res / values- {language}中的字符串。在这种情况下,如果代码尝试使用其中一个字符串并且字符串选择属于默认值(电话设置为您不提供翻译的语言),则应用程序将崩溃。

错误应告诉您哪个字符串未翻译。我首先检查定义它的语言,并确保它也是默认语言。

答案 1 :(得分:0)

事实证明这实际上非常简单。我所要做的就是将values-us /文件夹重命名为values-en-rUS /并且它可以工作。