Issue Checks for incomplete translations where not all strings are translated

Android

Issue Checks for incomplete translations where not all strings are translated

strings.xmlに次のようにstringを定義していると

 <string name="main_title">
  ほげほげ アプリ
 </string>

export sigined applicationで証明書でアプリをエクスポートする時に、次のようなエラーが出てしまいました。

“main_title” 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, ms, 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 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.

You can tell lint (and other tools) which language is the default language in your res/values/ folder by specifying tools:locale=”languageCode” for the root element in your resource file. (The tools prefix refers to the namespace declaration http://schemas.android.com/tools.)

ふぇー ですが、丁寧に修正方法は全部上記に書いてありますね。
もしかして将来多言語化するかもしれないので、全体的に言語チェックをしない、というのはやめておき、とりあえずtranslatable=”false”をつければよいということなので、

 <string name="main_title" translatable="false">
    ほげほげ アプリ
 </string>

としておき、Lintのエラーを出さないようにしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です