是否可以在 Android Studio 中使用 lint 忽略特定语言环境进行翻译?

Is it possible to ignore a specific locale for translation with lint in Android Studio?

正如标题所说,我希望在 Android Studio 中忽略来自 MissingTranslation lint 错误的特定语言环境。这是这个问题背后的原因:

我有多个 Android Studio 项目用于特定应用程序。所有这些应用程序都引用共享库项目中的一个或多个模块,该项目包含公共代码、资源等。

共享模块包含在所有其他应用程序中使用的公共代码、小部件、资源和字符串。问题是我的共享模块比我的应用程序有更多语言的翻译,所以应用程序抱怨应用程序特定的字符串没有翻译成共享模块中包含的其他语言。

我有一种感觉,如果我将共享模块构建为库并以这种方式引用它们,而不是直接在应用程序项目中引用代码,这个错误就会消失。但是,当我在应用程序中工作时,我也经常修改共享库中的代码,因此直接引用代码比引用内置模块更有效。

我也知道我可以完全禁用 MissingTranslation 但我想知道应用程序特定的字符串不会在应用程序支持的语言环境中翻译。

如果用户有可能看到部分翻译的应用程序,MissingTranslation Lint 警告将始终出现。

因此,您有两个选择:

  1. 将语言限制为您 removing unused alternative resources 特别支持的语言(因此从您的库项目中删除不受支持的语言的翻译字符串):
    android {
        defaultConfig {
            ...
            resConfigs "en", "fr"
        }
    }
  1. 正在抑制 MissingTranslation 警告。