ここに私のvalues\strings.xml(デフォルトのファイル)があり、すべては自明です:
私の質問:
translatable="false"
を設定すると、どのようにリント変換エラーになる可能性がありますか? values-pl\strings.xml(およびvalues-ru、values-iwフォルダー)にも、文字列は存在しませんか?とにかくすべきではありません。(私はここにvalues-ru\string.xmlまたはvalues-pl\string.xmlを表示しますが、とにかく文字列が欠落しているため、そこには何も興味がありません...)
これは私にも起こりました
私は2つのことをします:
再構築には時間がかかる場合があります。 YMMV、しかし...
問題のある行を削除して、再度追加します。
私のために働いた。とても早い。
私の場合、これは私を助けました:
うまくいかない場合は、strings.xml(v21)
ファイルに同じ文字列を追加してみてください。
キャッシュの無効化/再起動...を押して、Android studioを再起動します。それは私のために働いた。実際、これは他のコンピューターからファイルをコピーし、ファイルエクスプローラーで貼り付けたときに起こりました。
デフォルトのロケール自体とすべての翻訳でスローされたという奇妙な問題だけで、同じエラーメッセージが表示されました。名前にドットを使用しないでください(例:name = "bla.blub")。これは内部で「bla_blub」に変換され、「bla.blub」と一致しないため、エラーになるためです。デフォルトのロケールでドットを下線に変更するだけで、他の翻訳の他のエラー(名前のドットを含む)もすべてなくなりました。
ただし、他のビルドツールでも問題が発生する可能性があるため、代わりにすべてのドットを下線に置き換えてください。
Android Studioを終了して再起動すると、修正されました。
Androidアプリの翻訳ステータスを管理するツールを作成しました。他の言語で不足している文字列を通知するだけでなく、デフォルトの翻訳ファイルで削除した可能性のある残りの文字列を報告し、消去することもできます。
https://github.com/gubatron/Android-missing-strings
他の言語で残っているものをすべて削除するには、次のように呼び出します
./ams --cleanleftovers -o all.txt
これにより、残った文字列が消去され、すべての言語の欠落文字列レポートがall.txtファイルに出力されます
同じ大文字と小文字を含むすべての文字列ファイルで同じ命名規則を使用していることを確認してください。 strings.xmlに「sign_in」があり、fr/string.xmlに「sign_In」がある場合、「ここで翻訳されていますが、デフォルトのロケールでは見つかりません」などのエラーがfr/strings.xmlに表示されます。したがって、「sign_in」に編集するとき。エラーは削除されます。
"xmlns:tools="http://schemas.Android.com/tools"
このコードをファイルstrings.xmlのリソースタグに追加する必要があります
単に、問題のある行(または複数の問題のある行の1つ)をコピーし、削除して、貼り付け直すだけです。これで問題が解決しました。
以下の手順に従ってこの問題を解決しました。
私のプロジェクトを掃除する
再構築
最後に無効なキャッシュを押す/ファイルメニューで再起動する
Android Studioでこの問題に直面している人の助けになることを願っています。