Android 言語には使用したいすべての言語がないため、アプリでアプリの言語を変更したいと考えています。だから私はこれを変更しました:
String languageToLoad = "en";
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
ただし、ユーザーがアプリを開いて変更すると。その時点で表示されている文字列は、新しい言語Activity
が作成されたときに変更される古い言語のままです。
選択したユーザー言語を何らかの形で保存し、アプリの起動時に言語を変更する必要があるというその他の問題。
では、これを改善するにはどうすればよいでしょうか。ユーザーが言語を選択すると、すべての文字列が選択言語strings.xmlから取得され、どの言語ユーザーが選択されたかを保存する方法が必要ですか?