[Android Lint] xxx is not translated in xxx 的解决方法

在Android SDK Tool r19之后, Export的时候遇到xxx is not translated in xxx的问题。

例如:

[html]  view plain copy print ?
  1. "auto_exit" is not translated in zh, zh_CN  

这是因为Android SDK Tool 將 ANDROID_LINT_COMPLETE_REGIONS 改为了需要检查。

 

错误原因:

根据报错提示,是说我没有对string文件做国际化翻译操作,但是我报错的项目并没有做国际化,所以并没有values-zh-rCN和values-zh-rTW两个文件夹,最后我发现原来是当前项目引用的一个Library有国际化操作,包含values-zh-rCN和values-zh-rTW两个文件夹,所以导致我在进行项目编译打包的时候爆出这个异常。

update 2015.04.07
产生这个错误是因为Lint 代码检查工具发现你的项目中有部分string.xml文件内容做了国际化操作,但却不完整,有些文本内容并没有相应的国际化翻译,在android开发中常见于项目引用的Libraries第三方库中有做了国际化翻译的(例如知名的Android-PullToRefresh下拉刷新项目,它做了十几种语言的翻译)和引用第三方SDK资源时候(例如我们分享常用的ShareSDK,它提供了中文和英文语言的string.xml),当我们的项目中包含这些内容的时候,就可能被lint tool提示错误,导致编译无法进行下去。

解决办法:

既然知道了错误异常原因,那么解决它就很容易了,我将项目引用的Library中的values-zh-rCN和values-zh-rTW文件夹删除,然后运行编译就没有问题了,当然如果你不怕麻烦的话,给自己项目做国际化操作也行啊大笑~

update 2015.04.07
直接删除这些资源文件可能导致一些额外的问题产生,所以我推荐使用另外一种方法,就是将lint检查器的报错范围修改掉,在Eclipse中的具体操作步骤为:Preference —— Android —— Lint Error Checking —— Correctness: Messages —— MissingTranslation,如果无法找到可以使用搜索,最后选中MissingTranslation,将Severity选项由Fetal改为Warning即可。这样Lint 工具在检查我们的代码的时候就不会提示 error 了,只会给我们警告(话说我们的警告还少吗)。

你可能感兴趣的:([Android Lint] xxx is not translated in xxx 的解决方法)