web-dev-qa-db-ja.com

Lint:「<key>が<language>に翻訳されていません」エラーを無視する方法

ローカリゼーションファイルがまだ完全ではないため、Androidアプリをコンパイル/デバッグできません。

私のIDEの検証ツール Lint エラーの作成:

newCardsOrderValsはar、bg、ca、csに翻訳されていません

Antを使用したコンパイル/インストール/実行は正常に動作しますが、デバッグを容易にするためにIDEを使用したいと思います。

この特定のチェックをオフにする方法はありますか、理想的にはエラーではなく警告にすることはできますか?

リリース前にローカライズファイルを正しく設定する必要があることは理解していますが、当面は画面自体が頻繁に変更されるため、優先事項ではありません。

188
Nicolas Raoul

Android Studio:

  • [ファイル]> [設定]をクリックし、検索ボックスに「MissingTranslation」と入力します

Eclipse:

  • Windows/Linux:[ウィンドウ]> [設定]> [Android]> [リントエラーチェック]
  • Mac:「Eclipse」>「Preferences」>「Android」>「Lint Error Checking」

MissingTranslation行を見つけて、以下に示すようにWarningに設定します。

Missing translations, is not translated in

348
Nicolas Raoul

次のように、定義に属性translatable = "false"を設定できます。

<string name="account_setup_imap" translatable="false">IMAP</string>

詳細: http://tools.Android.com/recent/non-translatablestrings

85
efor18

Gradleビルドでこれを無視するには、ビルドファイルのAndroidセクションにこれを追加します。

lintOptions {
   disable 'MissingTranslation'
}
82
Janusz

これにより、Lintはファイル内のすべての文字列の欠落した翻訳エラーを無視しますが、必要に応じて他の文字列リソースファイルを検証できます。

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.Android.com/tools" 
    tools:ignore="MissingTranslation">
23
Tom Bollwitt

特定の文字列に関する警告をオフにする場合は、次を使用できます。

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>    

    <!--suppress MissingTranslation -->
    <string name="some_string">ignore my translation</string>
    ...

</resources>

エラーではなく特定の文字列について警告する場合は、特定の事柄の重大度ステータスを調整するカスタムLintルールを作成する必要があります。

http://tools.Android.com/tips/lint-custom-rules

11
Eduard Kotysh

これをlint.xmlファイルに挿入します。

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    ...

    <issue
        id="MissingTranslation"
        severity="ignore" />
</lint>

詳細については、 Lint警告の抑制

9
Brais Gabin

リソースルートタブの/res/values.xmlファイルに次のような行を追加します。

<resources
xmlns:tools="http://schemas.Android.com/tools" 
    tools:locale="en" tools:ignore="MissingTranslation">

tools:localeは、ローカル言語を英語に設定します。すべてのリソース文字列とtools:ignore let Lintがリソース文字列値の欠落した翻訳を無視するように、後で言語翻訳の必要はありません。

8
Purvik Rana

Strings.xmlファイルのヘッダーに以下を追加します

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources  xmlns:tools="http://schemas.Android.com/tools" tools:locale="en">

これにより、ベース値フォルダーで使用している言語をツールに伝えることができます。 values-deまたはvalues-enフォルダー内の文字列については明らかですが、ベースの「values」フォルダー内にはありません。 Lintは、デフォルト文字列のスペルミスを探すときに、ロケール情報を使用して正しい辞書を選択します。

6
chzahid

加えて、

プロジェクトに依存するプロパティではなく、Eclipse Preferences。
Macでは、Eclipse> Preferences

enter image description here

5
Jinbom Heo

別のアプローチは、Gradleで「resConfigs」オプションを使用して、サポートする言語を指定し、残りを除外することです。

この他の回答 をご覧ください

これは、実際にサポートしたい言語の正当な翻訳ミスを完全に無視する必要がないため、より良いと思います

3
kip2

また、翻訳したくないリソースをdonottranslate.xmlというファイルに配置することもできます。

例と説明: http://tools.Android.com/recent/non-translatablestrings

1
Michal Vician

それらの多くには、異なる作業上の答えが与えられており、私も同じリントエラーを受け取り、Eclipseで次のことを行うことで無視します。

  1. windowsをクリックします
  2. 設定をクリックします
  3. [Android]> [Lint Error Checking]を選択します。
  4. [すべて無視]> [適用]> [OK]をクリックします。

それでおしまい。

1
raju

次は私のために働いた。

  • Windowsをクリックします
  • 設定をクリックします
  • [Android]> [Lint Error Checking]を選択します。
  • 関連するリントチェックを見つけて選択し、
  • 重大度を「無視」に設定します(右下)
1
user4353093