Android应用程序打包时,出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic).....

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

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

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

可是在这时,会出现如下提示:

并且原本没有错误的程序(values/strings.xml)也会出现如下错误提示:

[html] view
plain
copy

  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 <string> 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
plain
copy

  1. <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3. <string name="app_name">UMengDemo</string>
  4. <string name="action_settings" >Settings</string>
  5. <string name="sharePic_text" >分享本地图片</string></span><pre name="code" class="html" style="text-indent: 0.10000000149011612px;"><span style="font-size:14px;"></resources></span>

3》Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute.

第三种方法,就是用tools:ignore="MissingTranslation“ 属性直接忽略这个问题

以上操作完成后,最好选择“Clean”一下项目,方法如下:

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

时间: 2024-10-10 11:13:02

Android应用程序打包时,出现错误:"XXX" is not translated in "af" (Afrikaans), "am" (Amharic), "ar" (Arabic).....的相关文章

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

问题:当我们开发完成一个Android应用程序后,在发布该应用程序之前必须要经过的一步时打包应用程序. 至于从打包程序到发布的完整过程可以参考: Android 应用程序发布流程---碗豆荚发布流程 更新ADT至22.6.0版本之后,出现了这个库,appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让2.1以上全使用上4.0版本的界面.例如使用ActionBar,不需要再使用第三方的支持库了. 当项目绑定了谷歌官方提供的兼容包appcompat_v7,打包项目时往往会遇到问

androidstudio打包时出现错误Error:Execution failed for task &#39;:app:transformClassesWithDexForRelease&#39;解决方法

今天在android studio上打包项目时,遇到了Error:Execution failed for task ':app:transformClassesWithDexForRelease这么个错误,记得之前也遇到过这种问题,却如何想不起怎么解决的,只好再次在网上查资料,总算是解决了 这个问题的原因倒是简单的很,是因为我项目中应用的jar包重复,我在build.gradle文件的dependencies中重复依赖了libs下的jar包,将下边的删除即可 androidstudio打包时出

Android应用程序启动时发生AndroidRuntime : ClassNotFoundException for Activity class的解决方法

在android应用程序启动时抛出下面异常导致启动失败:07-09 17:12:35.709: ERROR/AndroidRuntime(3866): Uncaught handler: thread main exiting due to uncaught exception 07-09 17:12:35.719: ERROR/AndroidRuntime(3866): java.lang.RuntimeException: Unable to instantiate activity Com

Gradle Android客户端程序打包

一.前言 android客户端开发进入尾声,负责SEO同事突然发给我一个涉及45个发布渠道的噩耗,之前只发布自有渠道的工作方式已经不满足需求,所以引入最近比较流行的gradle打包技术. gradle基于groovy语言,引入的原因也方便了以后从现在使用的eclipse开发环境迁移到Android Studio,所以blablabla……,不多说了,先上代码. 二.简单项目Gradle打包脚本配置 buildscript { repositories { jcenter() } dependen

findlibrary returned null产生的联想,Android ndk开发打包时我们应该如何注意平台的兼容(x86,arm,arm-v7a)

很多朋友在开发Android JNI的的时候,会遇到findlibrary returned null的错误,因为某种原因,so没有打包到apk中.下面浅析下引起该错误的原因以及平台兼容性问题. 一.没有将so打包到apk中的原因. 当你发现到findlibrary returned null的错误时,其实最直接的解决办法就是解压apk,看看apk中的x86.armeabi.armeabi-v7a文件夹中是否有对应的so,此时你可能在对应的文件夹下发现少了so,然后再去查原因即可. 一般有两方面

android在程序崩溃时Catch异常并处理

Android系统的"程序异常退出",给应用的用户体验造成不良影响.为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理.通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可. 写一个例子来理解. 1.新建项目,新建一个MyCatchException类,实现uncaughtExceptionHandler. //全部错误捕捉器 public class MyCatc

Qt 程序退出时断言错误——_BLOCK_TYPE_IS_VALID(pHead-&gt;nBlockUse),由setAttribute(Qt::WA_DeleteOnClose)引起

最近在学习QT,自己仿写了一个简单的QT绘图程序,但是在退出时总是报错,断言错误: 报错主要问题在_BLOCK_TYPE_IS_VALID(pHead->nBlockUse),是在关闭窗口时报的错: 先前考虑是析构函数有问题,重写并且排查相关变量并未发现问题. 根据报错问题又推测栈调用出现内存溢出,寻找程序中所有的链表和栈调用.未果. 最后用了最笨的方法,将构造函数中所有变量挨个遍历,最终确定问题出在Qt的setAttribute(Qt::WA_DeleteOnClose)这行代码上. 网上查询

Android解析程序包时出现问题

Android用户下载我们wcc应用时,偶尔会出现“解析程序包出现问题”的的现象,以下是逐步排查的相关经验: 1. 首先确保这个包本身没有问题. 检测方法:其他手机采用同样的下载方式再下载一次. 解决方案: android系统不支持包名包含中文文件名和全角字母符号,如果在应用程序中使用了,请做修改. android系统不支持包名以大写字母开头,如有请改为小写. 2. 再确保下载的包是完整的,下载过程可能出现apk文件损害,导致没有办法解析. 检测方法:比较下载的apk和服务器的apk size是

android模块混淆打包时,泛型丢失

现象:lib模块中写了一个泛型接口,在混淆之后泛型消失,提示"Error:(67, 79) 错误: 类型 ******* 不带有参数" 解决:混淆时把泛型给混淆掉了,在proguard-rules.pro中添加 -keepattributes Signature