web-dev-qa-db-ja.com

アプリケーションの言語を変更するにはどうすればよいですか

可能性のある複製:
Androidでプログラム的に言語を変更

私はAndroidが初めてです。私のアプリケーションでは、ユーザーは3つの言語から言語を選択できます。ユーザーが選択した言語に基づいて、アプリケーションの言語全体を変更する必要があります。これどうやってするの?

30
Manisha Patel

これを使用して、プログラムで言語を変更します。

Locale locale = new Locale("en_US"); 
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);

"en_US"の代わりに、希望する言語の言語の国コードを記述します。たとえば、日本語の場合、ja_JP;アラビア語の場合、ar。リストについては、 this link を確認してください。

そして、日本語の場合はres/values-ja、アラビア語の場合はres/values-arにフォルダーを作成します。

そして、string.xmlファイルを作成し、レイアウトに必要な言語を配置します。それは、valuesフォルダーからデフォルト言語をフェッチします。そうでない場合は、手動でそれを望む場合、外部フォルダーvalues-arなどからフェッチします。

アラビア語のres/values-arの例:

<?xml version="1.0" encoding="UTF-8"?>
  <resources>
    <string name="label">حسب</string>
    <string name="name">بحث</string> 
    <string name="search">بحث :</string>
 </resource>
50
Hulk

ロケールを設定できます。

    Resources res = context.getResources();
    // Change locale settings in the app.
    DisplayMetrics dm = res.getDisplayMetrics();
    Android.content.res.Configuration conf = res.getConfiguration();
    conf.locale = new Locale(language_code.toLowerCase());
    res.updateConfiguration(conf, dm);

言語固有のコンテンツがある場合-設定に基づいてそのベースを変更できます。詳細については、 Locale および this also を参照してください。

6
Android