バイリンガル (2 つの言語を持つ) Android アプリケーションを作成しました。リソース文字列を 2 つのファイルに挿入しました。
For Persian language (default)
values/strings_locale.xml
For English language
values-en/strings_locale.xml
アクティビティを初めて起動するときに、次のコードを挿入しました。
Configuration c = new Configuration(this.getResources().getConfiguration());
c.locale = new Locale("fa_IR");
this.getResources().updateConfiguration(c, this.getResources().getDisplayMetrics());
したがって、このコードの後、私のデフォルト言語はペルシア語になり、すべてのアクティビティのすべての文字列がペルシア語で正しく表示されます。
しかし問題は、デバイスの画面が回転すると、すべての文字列が英語で表示され、他のすべてのアクティビティでも発生することです! そして、アプリケーションを閉じて再度開く必要があります。
なぜこれが起こるのか、どうすればこの問題を解決できますか?