言語コードの接尾辞を使用して、言語の新しい値ディレクトリを作成することを認識しています。ドイツ語の場合: values-deまたはフランス語の場合: values-fr次に、 string.xmlをそれにコピーして、各エントリを翻訳します。これは電話のローカリゼーション設定に基づいて機能します
私は、電話の設定をバイパスし、以下のコードを使用してアプリ内でユーザーに必要な言語を選択させることができることを知っています。
Locale appLoc = new Locale("en");
Locale.setDefault(appLoc);
Configuration appConfig = new Configuration();
appConfig.locale = appLoc;
getBaseContext().getResources().updateConfiguration(appConfig, getBaseContext().getResources().getDisplayMetrics());
アプリ内で言語選択オプションを提供し、ユーザーがアプリに必要な言語を選択できるようにしました。string.xml を動的に切り替えます (異なる言語の場合)。
私の質問は...アプリ内で提供される言語オプションは、電話によるサポートを義務付けるべきですか? 私の電話はカンナダ語の地域言語をサポートしていないため、ユーザーがアプリで言語オプションとしてカンナダ語を選択した場合を考慮してください。値は [][][][] (ボックス) として表示されます。アプリケーション全体にもフォント サポートを設定するにはどうすればよいですか?
以下のように、Androidのすべてのビューで書体を使用したくありません
Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/comicsans.ttf");
for(int i = 0; i <root.getChildCount(); i++) {
View v = root.getChildAt(i);
if(v instanceof TextView ) {
((TextView)v).setTypeface(tf);
} else if(v instanceof Button) {
((Button)v).setTypeface(tf);
} else if(v instanceof EditText) {
((EditText)v).setTypeface(tf);
} else if(v instanceof ViewGroup) {
changeFonts((ViewGroup)v);
}
}
ローカル設定を使用して、アプリケーション全体のフォントを構成できますか?