web-dev-qa-db-ja.com

「ここで翻訳されていますが、デフォルトのロケールで見つかりません」translatable = "false"のstring.xmlのエラー

ここに私のvalues\strings.xml(デフォルトのファイル)があり、すべては自明です: enter image description here

私の質問:

  1. デフォルトロケール(values\strings.xml)を編集している場合、どのようにして「デフォルトロケールで見つからない」ことができますか?
  2. translatable="false"を設定すると、どのようにリント変換エラーになる可能性がありますか? values-pl\strings.xml(およびvalues-ru、values-iwフォルダー)にも、文字列は存在しませんか?とにかくすべきではありません。
  3. ロシア語の文字列のエラーが表示されない理由を理解できないようです。

(私はここにvalues-ru\string.xmlまたはvalues-pl\string.xmlを表示しますが、とにかく文字列が欠落しているため、そこには何も興味がありません...)

52
PIXP

これは私にも起こりました

私は2つのことをします:

  • ファイル全体を検証して、別の翻訳が行われていないことを確認します(ファイルenにありますが、pt-brにあります)
  • Android St​​udioをクリーンアップし、gradleを更新して終了して再起動します
50
JoaoLopesF

再構築には時間がかかる場合があります。 YMMV、しかし...

問題のある行を削除して、再度追加します。

私のために働いた。とても早い。

36
Nolan Amy

私の場合、これは私を助けました:

  1. エラーの原因となる文字列を選択します。
  2. それらを切る。
  3. もう一度貼り付けます

うまくいかない場合は、strings.xml(v21)ファイルに同じ文字列を追加してみてください。

17
Gourav

キャッシュの無効化/再起動...を押して、Android studioを再起動します。それは私のために働いた。実際、これは他のコンピューターからファイルをコピーし、ファイルエクスプローラーで貼り付けたときに起こりました。

5
abir99

デフォルトのロケール自体とすべての翻訳でスローされたという奇妙な問題だけで、同じエラーメッセージが表示されました。名前にドットを使用しないでください(例:name = "bla.blub")。これは内部で「bla_blub」に変換され、「bla.blub」と一致しないため、エラーになるためです。デフォルトのロケールでドットを下線に変更するだけで、他の翻訳の他のエラー(名前のドットを含む)もすべてなくなりました。

ただし、他のビルドツールでも問題が発生する可能性があるため、代わりにすべてのドットを下線に置き換えてください。

3
CitrusO2

Android St​​udioを終了して再起動すると、修正されました。

3
lekanbaruwa

Androidアプリの翻訳ステータスを管理するツールを作成しました。他の言語で不足している文字列を通知するだけでなく、デフォルトの翻訳ファイルで削除した可能性のある残りの文字列を報告し、消去することもできます。

https://github.com/gubatron/Android-missing-strings

他の言語で残っているものをすべて削除するには、次のように呼び出します

./ams --cleanleftovers -o all.txt

これにより、残った文字列が消去され、すべての言語の欠落文字列レポートがall.txtファイルに出力されます

2
Gubatron

同じ大文字と小文字を含むすべての文字列ファイルで同じ命名規則を使用していることを確認してください。 strings.xmlに「sign_in」があり、fr/string.xmlに「sign_In」がある場合、「ここで翻訳されていますが、デフォルトのロケールでは見つかりません」などのエラーがfr/strings.xmlに表示されます。したがって、「sign_in」に編集するとき。エラーは削除されます。

1
Babar Shamsi

"xmlns:tools="http://schemas.Android.com/tools"このコードをファイルstrings.xmlのリソースタグに追加する必要があります

1
hoangthu

単に、問題のある行(または複数の問題のある行の1つ)をコピーし、削除して、貼り付け直すだけです。これで問題が解決しました。

1
Austin Alex

以下の手順に従ってこの問題を解決しました。

  1. 私のプロジェクトを掃除する

  2. 再構築

  3. 最後に無効なキャッシュを押す/ファイルメニューで再起動する

Android St​​udioでこの問題に直面している人の助けになることを願っています。

1