Android应用项目绑定appcom_v7打包时,出现错误:"XXX"isnottranslatedin"af"(Afrikaans),"am"(Amharic),"ar"(Arabic).....


问题:当我们开发完成一个Android应用程序后,在发布该应用程序之前必须要经过的一步时打包应用程序。

至于从打包程序到发布的完整过程可以参考: Android 应用程序发布流程---碗豆荚发布流程

更新ADT至22.6.0版本之后,出现了这个库,appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让2.1以上全使用上4.0版本的界面。例如使用ActionBar,不需要再使用第三方的支持库了。

当项目绑定了谷歌官方提供的兼容包appcompat_v7,打包项目时往往会遇到问题,如下所示:

选择Eclipse ADT打包应用程序的过程如下:


技术分享

可是在这时,会出现如下提示:
技术分享

并且原本没有错误的程序(values/strings.xml)也会出现如下错误提示:
[html] view plaincopy
  1. "app_name" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic), "bg" (Bulgarian), "ca" (Catalan),   
  2.  "cs" (Czech), "da" (Danish), "de" (German), "el" (Greek), "en-rGB" (English: United Kingdom), "en-rIN" (English:   
  3.  India), "es" (Spanish), "es-rUS" (Spanish: United States), "et-rEE" (Estonian: Estonia), "fa" (Persian),   
  4.  "fi" (Finnish), "fr" (French), "fr-rCA" (French: Canada), "hi" (Hindi), "hr" (Croatian), "hu" (Hungarian), "hy-  
  5.  rAM" (Armenian: Armenia), "in" (Indonesian), "it" (Italian), "iw" (Hebrew), "ja" (Japanese), "ka-rGE" (Georgian:   
  6.  Georgia), "km-rKH" (Khmer: Cambodia), "ko" (Korean), "lo-rLA" (Lao: Lao People‘s Democratic Republic),   
  7.  "lt" (Lithuanian), "lv" (Latvian), "mn-rMN" (Mongolian: Mongolia), "ms-rMY" (Malay: Malaysia), "nb" (Norwegian   
  8.  Bokm?l), "nl" (Dutch), "pl" (Polish), "pt" (Portuguese), "pt-rPT" (Portuguese: Portugal), "ro" (Romanian),   
  9.  "ru" (Russian), "sk" (Slovak), "sl" (Slovene), "sr" (Serbian), "sv" (Swedish), "sw" (Swahili), "th" (Thai),   
  10.  "tl" (Tagalog), "tr" (Turkish), "uk" (Ukrainian), "vi" (Vietnamese), "zh-rCN" (Chinese: China), "zh-rHK" (Chinese:   
  11.  Hong Kong), "zh-rTW" (Chinese: Taiwan, Province of China), "zu" (Zulu)  

是什么原因呢?原因如下:
在Android SDK Tool r19之后, Export的时候遇到xxx is not translated in yyy, zzz的问题。
例如说"auto_name" is not translated in zh, zh_CN.
这是因为Android SDK Tool 將 ANDROID_LINT_COMPLETE_REGIONS 改为了需要检查。
如何解决呢?
技术分享

其实,以上提示已经给我们答案。一种是“fix these before running Export ”,另一种是“turn off ‘Run full error check when exporting app‘”
方法如下:
先说后者:“turn off ‘Run full error check when exporting app‘“
(1)在Eclipse中打开Preference,按下图操作:
技术分享

(2)再说前者:“fix these before running Export ”
操作如下图所示:
技术分享

双击选择4,会在5的左侧出现对该问题的描述,如下:
技术分享

框中也给我们三种解决方法。
即:
1》If the string should not be translated, you can add the attribute translatable="false" on the element,
技术分享

这种方法只适合数量较少的情况下。
2》字符串数量较大的情况,会很麻烦,这时可以采用另一种方法:
or you can define all your non-translatable strings in a resource file called donottranslate.xml.
即我们可以将所有不需要non-translatable 的字符串统一放入一个名叫donottranslate.xml的文件中。
在values新建donottranslate.xml文件,并把不需要non-translatable 的字符串放入其中.
donottranslate.xml:
[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3.     UMengDemo  
  4.     Settings  
  5.     分享本地图片  


3》Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute.
第三种方法,就是用tools:ignore="MissingTranslation“ 属性直接忽略这个问题
以上操作完成后,最好选择“Clean”一下项目,方法如下:
技术分享
 
技术分享

这样就可以解决以上问题了。

更多相关文章

  1. 为Android应用程序读取/dev下设备而提权(二)
  2. android语音识别技术
  3. Android中应用程序drawable图片资源占用内存的统计
  4. Android应用程序打包签名、加固、二次打包(图形/命令行)
  5. Android应用程序的完全退出
  6. Android 教程之实现动作感应技术
  7. Android应用程序与SurfaceFlinger服务的关系概述和学习计划 .

随机推荐

  1. pdfkit | 自动化利器,生成PDF就靠它了
  2. numpy 100题练习 <一>
  3. 实用 | PyCharm常用快捷键整理
  4. 30例 | 一文搞懂python日期时间处理
  5. pandas_profiling :教你一行代码生成数据
  6. 知乎关注达1万,总阅读破百万,记录与分享带
  7. 50题matplotlib从入门到精通
  8. 神器 | JupyterLab,极其强大的下一代noteb
  9. VS2019学生版的下载安装并使用
  10. java 读取 application配置文件