私はアプリの4つの言語を作成しました。私はLauaguageを変更することができますが、アプリを終了してからもう一度起動すると、アプリは最初にデフォルトのstring.xmlで開始されます。アプリは最初にデフォルト言語で始める必要がありますか?
最後に選択した言語でアプリを起動させる方法を教えてください。
私はmainActivityでOnCreateメソッドを呼び出す必要がありますか?
@SuppressWarnings("deprecation")
public void setLocale(String lang) {
Locale myLocale = new Locale(lang);
DisplayMetrics dm = getResources().getDisplayMetrics();
Configuration conf = getResources().getConfiguration();
conf.locale = myLocale;
getResources().updateConfiguration(conf, dm);
Intent refresh = new Intent(this, Languages.class);
startActivity(refresh);
/* "en" = English
"hi" =Hindi
"fr" =French
"it" =Italian
"de" =German
"es" =Spanish
"ja" =Japanese
"ko" =Korean
"nl" =Dutch
"pt" =Portuguese
"ru" =Russian
"zh" =Chinese
"ar" = arabic
*/
}
ユーザーはどのようにデフォルト言語を変更できますか?
はい、私はあまりにも共有優先して文字列としてエン、ドイツ、フランス、などの選択した言語のシンボル...と旗のイメージパスを保存する、ということでした。問題を解決するには、threアプリの再起動後に毎回言語を選択する必要があります。私はここで何かsimulareを見つけたが、うまくいかなかった:[link](https://stackoverflow.com/questions/12908289/how-to-change-language-of-app-when-user-selects-language) – Biblio
あなた'onCreate'、' onResume'などのアクティビティライフサイクル関数を利用してファイルをロードする必要があります。選択した言語をどの時点でチェックしますか? – Mohale
@Biblio '...共有設定の文字列としてのフラグの画像パス...' **間違った**。ローカライズされた 'drawable'フォルダもあります。正しいフラグ画像へのパスを保存するような素朴なことをする必要はありません。 –