【问题标题】:Android Studio showing Errors(Missing Translation) after UpdatingAndroid Studio 在更新后显示错误(缺少翻译)
【发布时间】:2017-07-27 12:37:03
【问题描述】:

最近我从 2.2.3 to 2.3.0 更新了我的 Android Studio 项目在 2.2.3 中运行良好,但在从 2.2.3 to 2.3.0 更新项目依赖类路径后得到很多 Missing来自string.xml 的翻译错误。

谁能告诉我为什么会这样以及如何解决这些错误?

【问题讨论】:

    标签: android android-studio android-gradle-plugin build.gradle


    【解决方案1】:

    有很多方法可以解决这个问题:

    第一种方法:

    添加到 build.gradle:

    android {
         lintOptions {
            disable 'MissingTranslation'
        }
    }
    

    第二种方法:

    就是你的字符串文件中tools命名空间的ignore属性,如下:

    <?xml version="1.0" encoding="utf-8"?>
    <resources
      xmlns:tools="http://schemas.android.com/tools"
      tools:ignore="MissingTranslation" >
    
      <!-- your strings here; no need now for the translatable attribute -->
    
    </resources>
    

    第三种方法:

    在您的ADT 中转到window-&gt;Preferences-&gt;Android-&gt;Lint Error Checking

    在那里找到Missing Translation 并将其Severity 更改为Warning

    参考链接:

    http://www.fasteque.com/missingtranslation-issue-for-release-builds/

    希望对你有所帮助。

    【讨论】:

    • 在Android Studio中你可以在Preferences-&gt;Editor-&gt;Inspections找到它
    【解决方案2】:

    我面临着完全相同的问题。根据我的观察,这个问题是在 Gradle 插件版本 2.3.0 中引入的。当您的项目中有一个模块支持比您的应用程序或其他模块更多的语言时,就会发生这种情况。您可以开始编辑此类模块的翻译,但这会降低它们的可维护性。

    如果您使用此处的任何建议或类似问题禁用 Lint 检查,您也会忽略应用程序中缺少您支持的语言的翻译的实际翻译错误。之后你需要非常小心地维护你的字符串。

    还有一个也不是最理想的选项:将插件版本更改回最后一个在 build.gradle 中没有显示这些症状的版本。

    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
    

    但是,有一种方法可以在不丢失重要警告/错误且不恢复到旧工具版本的情况下完成这项工作。您可以在Google's documentationthis answer 中找到它。

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

    这会删除不需要的资源以及随之而来的警告和错误。我已经更新了我的代码,它现在构建良好。

    新的 Gradle 插件版本引入了另一个问题:如果您收到误报,即错误抱怨您标记为不可翻译的字符串缺少翻译,请检查该字符串名称是否存在于另一个模块中。在这种情况下,重命名或提供翻译,错误就会消失。

    【讨论】:

    • 这行得通,似乎是干净的合适解决方案resConfigs "en", "fr"
    • 使用“resConfigs”实际上会改变您的 APK 的构建方式,对于风险不利,请考虑是否要更改它以删除 IDE 警告。
    • 嗯。能否详细说明风险是什么?我的理解是,这正是它的目的,即去除不需要的语言,这不仅会导致 IDE 警告(在某些情况下很多),而且可能还会显示应用程序不支持的语言。
    猜你喜欢
    • 2013-06-21
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 2021-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多