Android Lint 限制语言以检查缺失的翻译

2023-12-27

我的应用程序仅支持 2 种语言 - 英语和德语。所以我有这样的语言字符串文件夹结构:

myproject/res/values/strings.xml

myproject/res/values-de/strings.xml

当我运行 Lint 检查时,我收到许多关于缺少语言的警告,我的应用程序不需要支持:

“some_string”未翻译为 af、am、ar、be、bg、ca、cs、da、el、en-rGB、es、es-rUS、et、fa、fi、fr、hi、hr、hu、in 、it、iw、ja、ko、lt、lv、ms、nb、nl、pl、pt、pt-rPT、ro、ru、sk、sl、sr、sv、sw、th、tl、tr、uk、vi , zh-rCN, zh-rTW, zu

此警告使得很难理解哪些字符串未翻译为德语。我必须查看每个警告并搜索“de”符号才能了解该字符串没有翻译成德语。

所以我的问题很简单 -我如何告诉 Lint 仅检查 2 种语言?


Update:您可以限制Gradle导入的语言! Cyril Mottier 指出您可以指定支持哪些资源。

从 Android Gradle Plugin 0.7 开始,您可以将有关应用程序处理的配置的信息传递给构建系统。这是通过 resConfig 和 resConfigs 风格以及默认配置选项完成的。下面的 DSL 可防止 aapt 打包与应用程序托管资源配置不匹配的资源:

defaultConfig {
    // ...
    resConfigs "en", "de", "fr", "it"
}

更多信息请点击此处节食你的 APK http://cyrilmottier.com/2014/08/26/putting-your-apks-on-diet/ and Android http://tools.android.com/tech-docs/new-build-system(在页面搜索resConfig)


看来,如果您将项目添加到构建路径中,则已添加到这些项目中的任何和所有语言都将渗透到您的项目中。例如“google-play-services_lib”项目,它为我“支持”的项目添加了 40 多种语言。这就是我遇到疯狂的 lint 错误(与上面的类似)的原因,即使我只有默认的西班牙语(values-es)资源文件夹。

解决方案是简单地从外部/导入的项目中删除您不支持的资源文件/文件夹。在我删除了 google-play-services_lib 项目中除 value/values-es 文件夹之外的所有文件夹后,非目标语言的 lint 警告消失了。请务必保留资源文件的备份,以防您以后想添加对这些语言/区域的支持。

希望这可以帮助。几天来,我一直在用头撞桌子、搜索 SO 和 Google,试图找出如何表述这个问题。然后我终于意识到我的两个项目(图书馆项目)之间有什么区别,这两个项目都有翻译。

我确实希望有一种方法可以告诉项目我只支持语言 x/y/z 并让它忽略其余语言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Lint 限制语言以检查缺失的翻译 的相关文章

随机推荐

  • 如何对 iPhone 通讯录进行排序?

    我如何以编程方式按名字和姓氏对 iphone 通讯录进行排序 或检索排序数组 任何帮助将不胜感激 谢谢 Call ABAddressBookCopyArrayOfAllPeople 获取地址簿中所有人员记录的数组 然后关注文档 http d
  • django/ajax:无法在views.py中获取Ajax发布数据

    我从 django 后端获取 ajax post 数据时遇到问题 我不知道如何传递该值 请帮忙 在 html 中我只有这样
  • 如何在 Spring 中为 @Service 命名多个名称?

    我需要类似的东西 Named bean1 bean2 Service bean1 bean2 我该怎么做 不是直接的 按照你的方式 但这可以通过重新定义现有的 Service or Component as a Bean无论是一个名字还是一
  • 使用 firebase 部署 React 应用程序时如何隐藏源代码?

    这是我在 stackoverflow 上的第一篇文章 我写信是因为我找不到问题的明确答案 我不知道标题是否正确 但这就是我的意思 情况 我正在使用 React 创建一个单页面应用程序 并打算使用 Node js 和 Express js 构
  • 无法使用 varbinary 更新个人资料图片

    我正在尝试使用 varbinary SQL Server 2008 更新我的个人资料图片 它似乎没有更新我放在文件上传中的图片 下面是我用来更新我的个人资料图片的代码 请帮我看看我的编码的哪一部分做错了 谢谢 protected void
  • 使用 Ninject 2 将参数传递给 WCF ServiceHost 类型

    我想使用 Ninject Wcf 扩展来创建参数化服务主机实例 例如我有一堂课MyWCFHandler仅有以下构造函数 public MyWCFHandler UserManager manager manager manager 但是当我
  • Shiny 默认字体是什么?

    Shiny 默认字体是什么 去哪里查呢 library shiny ui lt fluidPage What font is used here server lt function input output session shinyAp
  • 如何从所有文档中仅返回数组的嵌套文档

    我有一个关于查询嵌套文档的问题 我尝试搜索 但没有任何答案回答我的问题 或者我可能忽略了它 我有这样的结构 id ObjectId 592aa441e0f8de09b0912fe9 name Patrick Rothfuss books t
  • 数据丢失 TCP IP C# [重复]

    这个问题在这里已经有答案了 这是我的代码 private void OnReceive IAsyncResult result NetStateObject state NetStateObject result AsyncState So
  • for 循环内声明的变量范围

    for int i 0 i lt 10 i int j 0 j 是块变量还是局部变量 我看到 j 的范围仅限于 for 循环结束 局部变量在方法 构造函数或块中声明 由此可见 所有块变量都是局部变量 根据定义Block http docs
  • CLPlacemark - 状态缩写?

    我想知道是否可以从 CLPlacemark 获取州缩写 Apple 的 CLPlacemark Reference 中指出 行政区域 与地标关联的州或省 只读 property 非原子 只读 NSString administrativeA
  • 导入两个同名的包

    我使用 pip 安装了两个我需要的库 它们的功能相关 但无法处置它们中的任何一个 问题是 一旦解压 它们具有相同的名称 并且它们中的功能都被导入为 import the package from the package import a b
  • SwiftData 逆关系在 Xcode 15 beta 7 中停止工作

    此方法在 Xcode 15 beta 7 之前有效 Model final class Item var name String Relationship inverse Note item var notes Note init name
  • 当前页面的 url,不带页面名称和查询字符串

    正如问题中提到的 我想获取不带页面名称和查询字符串的页面网址 例如我的网址是 http sub domain com app page php var abc http sub domain com app page php var abc
  • 重叠向量::插入的行为

    C 标准在哪里声明传递给的迭代器对std vector insert不得与原始序列重叠 编辑 为了详细说明 我很确定该标准不需要标准库来处理这样的情况 std vector
  • 如何在 ASP.NET 中以编程方式请求 URL?

    我希望服务器以编程方式调用 URL ashx 页面 并将响应存储为字符串 使用 HttpWebRequest 似乎无法正常工作 因为我不想在那里重定向客户端 Thanks 如果您想调用另一个页面并以字符串形式获取响应 您可以使用WebCli
  • 任何文件扩展名的正则表达式

    我正在尝试构建一个正则表达式来判断字符串是否是有效的文件扩展名 它可以是任何扩展 hello no hello Yes hello No hello world No hello world No hello world No 我已经尝试过
  • 如何在 ASP.NET MVC 3 (Razor) 中将值从视图传递到控制器?

    我在数据库中有这张表 https i stack imgur com C7CWX png https i stack imgur com C7CWX png 我通过此代码 视图 显示 音乐 中的所有值 无需重复 foreach var it
  • 从 pyqt4 中的 QTableView 复制/粘贴多个项目?

    We can select multiple items partial rows and partial columns from QTableView using self tableView setSelectionMode QAbs
  • Android Lint 限制语言以检查缺失的翻译

    我的应用程序仅支持 2 种语言 英语和德语 所以我有这样的语言字符串文件夹结构 myproject res values strings xml myproject res values de strings xml 当我运行 Lint 检