当前位置: 首页 > 知识库问答 >
问题:

升级到Gradle 3.3后缺少翻译错误

都乐逸
2023-03-14

自从升级到Gradle 3.3以来,由于缺少翻译错误,我在构建代码时遇到了麻烦:

错误:xxx没有翻译成“af”(南非荷兰语)、“am”(阿姆哈拉语)、“ar”(阿拉伯语)、“az”(阿塞拜疆)、“az-az”(阿塞拜疆:阿塞拜疆)、“be”(白俄罗斯)、“bg”(保加利亚)、“ca”(加泰罗尼亚)、[……],“zh TW”(中文:台湾)、“zu”(祖鲁)[缺失翻译]

报告的大多数语言都是我的项目中包含的第三方模块支持的语言,现在它似乎为整个项目定义了支持的语言,对于所有未翻译成上述语言的字符串,我都会遇到这种错误。在升级到Gradle 3.3之前,这不会导致任何问题。

我考虑了以下解决方案:

  1. 从其他模块中删除多余的翻译。我希望避免这种情况,因为这些模块都是外部的,不必要地修改它们会真正损害我的项目的可维护性

现在,我再次降级到以前的Gradle版本。但是修复这些构建错误的最佳方法是什么?

共有2个答案

邰棋
2023-03-14

内置。gradle添加以下代码

lintOptions {
    disable 'MissingTranslation'
}
范修伟
2023-03-14

我检查了一下情况,希望几个月前我发布这个问题后可能会有更正。

这些问题似乎是在Gradle插件2.3.0中引入的,而不是我在问题中提出的Gradle 3.3本身。降级插件可以避免错误,但很难成为长期解决方案。

我发现问题中的选项3是处理它的最佳方式:将其添加到应用程序的构建中。格拉德尔:

android {
    defaultConfig {
        ...
        resConfigs "en", "fr"
    }
}

这在谷歌留档中有描述,如前所述,也在这个答案中。它删除了所有不必要的资源——以及警告/错误。

引用留档:

Gradle资源收缩器仅删除应用程序代码未引用的资源,这意味着它不会删除不同设备配置的替代资源。如有必要,您可以使用Android Gradle插件的重新配置属性删除应用程序不需要的其他资源文件。

例如,如果您使用的库包含语言资源(例如AppCompat或Google Play Services),那么您的APK包含这些库中消息的所有翻译语言字符串,无论您的应用程序的其余部分是否翻译为相同的语言。如果您只想保留您的应用程序官方支持的语言,您可以使用resConfig属性指定这些语言。未指定语言的任何资源都会被删除。

我得到的“误报”(不可翻译字符串缺少翻译错误)是针对在多个模块中定义的字符串。重命名字符串或为其提供翻译解决了问题。Gradle插件2.3.0似乎也引入了这一点。

 类似资料:
  • 最近,我将我的Android Studio从2.2.3更新为2.3.0,项目在2.2.3中运行良好,但在将项目依赖项类路径从2.2.3更新为2.3.0后,从字符串中获取大量缺失的翻译错误。xml。 有人能告诉我为什么会发生这种情况以及如何解决这些错误吗?

  • 唯一需要手动更改的包是到,我使用以下命令进行了更改: 然后,我将的所有导入语句更改为。 我现在在构建应用程序时收到以下错误:

  • 我最近在我的Macbook Pro上升级到了Java7。我下载了JDK(而不是JRE)。 但是,当尝试运行构建时,一个maven编译器插件失败了,它声称我安装了一个JRE: 我很困惑,因为我显然已经安装了JDK。我的不要做任何有趣的事情: 这似乎是无害的,所以我怀疑我的命令行env有问题,并编写了一个简单的测试: 如果我正确理解了这个错误,那么它建议使用Java7编译器运行Java5? 我不确定这

  • 我试图将angular 8项目升级到angular 9,但我得到以下错误: Angular.json tsconfig.app.json

  • 所以我刚刚在一个小项目中升级了SpringBoot版本,现在身份验证搞砸了。当我尝试获取身份验证令牌时,我得到一个错误: 我和邮递员玩得很开心。如果我将grant_type/pw/username从正文移到QueryParams,它就可以正常工作了。但我们不能改变这一点。那么,有没有办法找出是哪个依赖项更改导致了这种情况?我查看了升级文档(2.1-

  • 我最近从Java8升级到Java11(即java-11-openjdk java-11-openjdk-devel),主要使用本文作为参考: https://sysadminxpert.com/install-openjdk-11-on-centos-7/ 在Eclipse(Spring Tools Suite 4.1.0)中,我更新了以下内容: 窗口>首选项>Java>安装的JREs: JRE主