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では、設定([ウィンドウ]->[設定]->[Android]-> [Lintエラーチェック])に移動し、[翻訳がありません]を警告または無視に設定する必要があります。これについてはここで説明します

于 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

または、すべての文字列に追加translatable="false"して、エラーが発生しないようにすることもできます。例:

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

この問題は、実際にはGoogle Playサービスでサポートされているが、独自のアプリではサポートされていないすべての言語が原因で発生します。アプリでサポートされないすべての言語をgoogle_play_services_libから削除できます。

残っているすべての不完全な翻訳を解決するだけで済みます。

于 2014-01-10T16:57:48.197 に答える