2017-02-21 21 views
0

私は奇妙なケースが続いています。私のアプリは4つの言語をサポートしています:英語、トルコ語、ロシア語&ウクライナ語。私は、次のリソースフォルダを得た:アプリケーションはローカライズされたフォルダから文字列を読み取れません

Resources Screenshot

私は値をトルコ語翻訳を得たので、それは任意の文字列の翻訳を見つけるために失敗した場合、デフォルトはトルコになります。

あなたが翻訳を必要とする何のキーが存在しない見ることができます以下:そう

Translation Screenshot

さて、私の知る限り、私は電話言語を変更すると、それは、対応する文字列を使用する必要があります。

私は携帯電話の言語はトルコ語行います

Turkish Screenshot

グレート。今、英語:

English Screenshot

あまりにも作品

。今ロシア:

Turkish Screenshot

うわ。

トルコ語と英語は動作していますが、電話言語をロシア語またはウクライナ語にすることはできません。

アプリ内の任意の場所にロケールの手動設定はありません。私は

getResources().getConfiguration().locale 

または

getResources().getConfiguration().getLocales() 

を呼び出すと、私は正しいロケールを取得し、 "ru_RU"。

ここに何か不足していますか?この問題の原因は何ですか?

答えて

0

問題が見つかりました。それはbuild.gradleのresConfigsでした。私の設定は

resConfigs "en", "tr" 

だったので、&英国のリソースをコンパイルしていませんでした。 "ru"を追加すると& "uk"が問題を解決しました。最後の行は次のようになります。

resConfigs "en", "tr", "ru", "uk" 
関連する問題