3

私の Android アプリケーションには、関税やサポートの電話番号など、言語に依存しない多数の文字列が含まれています。/res/valuesたとえば、XMLファイルを次のように配置しました。

<string name="helpdesk_number">0900 12345678</string>
<string name="helpdesk_tariff">60p</string>
<string name="helpdesk_address1">221B Baker Street</string>
<string name="helpdesk_address2">London NW1 6XE</string>

Lint は、これらの文字列が他の言語に翻訳されていないと不平を言っています。

ロケール de に次の翻訳がありません: helpdesk_number、helpdesk_number、helpdesk_address1、helpdesk_address2... (56 その他)

他の言語では別の料金表を表示することは理にかなっているかもしれませんが、ヘルプデスクは 1 つの国にしかありません。

これらの文字列を他の言語にコピーすることは理にかなっていますか? または、これらの特定の文字列 (または文字列ファイル) を Lint に無視させる方法はありますか?

4

6 に答える 6

5

次の (できればすぐに) ADT17 は、いくつかの lint 警告を無視するためのいくつかの機能をもたらします。

http://tools.android.com/recent/ignoringlintwarnings

http://tools.android.com/tips/lint/suppressing-lint-warnings

そのため、ADT 17 では、以下を含むプロジェクト フォルダーに lint.xml を配置できます。

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

または、次の方法で文字列ごとに行うこともできます。

tools:ignore="MissingTranslation"

しかし、ドキュメントはそれについて100%明確ではなく、現時点で17のベータテストを行う時間はありません..

フォローアップ: ADT17 は、あなたが尋ねた直後にリリースされ、問題を解決するはずです!

于 2012-03-21T18:14:33.047 に答える
4

最近のバージョンの Lint では、次のような特定の"MissingTranslation" 文字列を無視できます。

文字列.xml

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

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

</resources>

http://tools.android.com/tips/lint/suppressing-lint-warnings

于 2014-05-30T22:50:36.750 に答える
3

Lintツールから直接:

文字列を翻訳しない場合は、要素に属性translatable = "false"を追加するか、donottranslate.xmlというリソースファイルですべての翻訳不可能な文字列を定義できます。または、tools:ignore="MissingTranslation"属性で問題を無視できます。

デフォルトのres/valuesフォルダー内にファイル「donottranslate.xml」を作成するだけで、Lintはそれを無視します。すべてのアプリのキー/IDなどを設定だけでなくここにも配置します。これらは「変換」する必要がなく、他のファイルのスペースを占有するだけだからです。

于 2013-02-19T20:48:25.430 に答える
1
 > Best practice for language-independent strings

私のアプリには 2 つの文字列リソース ファイルがあります。1 つは「NonTranslatable.xml」という名前で、翻訳されない文字列 (appName、fileNames、..) を受け取ります。

アプリを他の言語に翻訳するとき、文字列を翻訳する必要があるかどうかを考える必要はありません。

于 2012-03-21T19:31:44.143 に答える
0

これを「android」の下のGradleアプリファイルに追加します

lintOptions {
    disable 'MissingTranslation'
}
于 2016-04-17T16:23:11.180 に答える