8

我正在尝试导出(已签名或未签名)我的应用程序。但是我遇到了这个错误。 在此处输入图像描述

这就是它所说的

"common_google_play_services_unknown_issue" is not translated in af, am, ar, be, bg, ca, cs, da, de, el, en-rGB, es, es-rUS, et, fa, fi, fr, hi, hr, hu, in, it, iw, ja, ko, lt, lv, nb, nl, pl, pt, pt-rPT, ro, ru, sk, sl, sr, sv, sw, th, tl, tr, uk, vi, zh-rCN, zh-rTW, zu

Issue: Checks for incomplete translations where not all strings are translated Id: MissingTranslation

If an application has more than one locale, then all the strings declared in one language should also be translated in all other languages.

If the string should not be translated, you can add the attribute translatable="false" on the <string> element, or you can define all your non-translatable strings in a resource file called donottranslate.xml. Or, you can ignore the issue with a tools:ignore="MissingTranslation" attribute.

By default this detector allows regions of a language to just provide a subset of the strings and fall back to the standard language strings. You can require all regions to provide a full translation by setting the environment variable ANDROID_LINT_COMPLETE_REGIONS.

这是我第一次遇到这个错误。而且我在网上找不到任何解决方案。知道如何解决这个问题吗?

4

4 回答 4

22

我遇到过同样的问题。问题是 Lint 将字符串翻译标记为致命错误。在 Eclipse 中,您需要进入首选项(Window -> Preferences -> Android -> Lint Error Checking)并将“Missing Translation”设置为警告或忽略。这在这里讨论

于 2013-01-21T10:41:49.513 回答
2

如果“未知问题”确实发生在没有翻译的语言中,这确实是一个问题 - 这将导致应用程序因堆栈跟踪而崩溃:

android.content.res.Resources$NotFoundException: String resource ID #0x7f0d0039
    at android.content.res.Resources.getText(Resources.java:201)
    at android.content.res.Resources.getString(Resources.java:254)
    at com.google.android.gms.common.GooglePlayServicesUtil.b(Unknown Source)
    at com.google.android.gms.internal.c.a(Unknown Source)
    at com.google.android.gms.internal.c.onCreateView(Unknown Source)
    at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
    ...

我所做的是打开google-play-services-lib项目,打开默认值res/values/strings.xml,然后:

  1. 复制英文翻译 - 这消除了冗长的编译警告。
  2. 为:添加“翻译” common_google_play_services_unknown_issue

<string name="common_google_play_services_unknown_issue">"Unknown issue."</string>

这解决了警告问题,并且在发生意外情况时不会在运行时使应用程序崩溃。

于 2013-05-05T14:29:49.080 回答
1

此问题实际上是由 Google Play 服务支持但您自己的应用程序不支持的所有语言引起的。您可以从 google_play_services_lib 中删除您的应用不支持的所有语言。

您只需解决所有剩余的不完整翻译。

于 2014-01-10T16:57:48.197 回答
1

或者您可以添加translatable="false"到每个字符串,这样就不会产生错误。例如:

 <string name="hello" translatable="false" >Hello World!</string>
于 2013-05-18T12:16:45.863 回答