コアとライブラリを持つプロジェクトがあります
コア プロジェクトの実行時にロケールを変更します。
問題は、ライブラリ プロジェクトに
Locale.getDefault();
デバイスのロケールのみを返しますが、アプリのロケールは返しません。つまり、アプリでロケールをフランス語に変更すると、デバイスが English を使用している場合、ライブラリ プロジェクトによって取得されるロケールは引き続き英語になります。修正方法は?ありがとう
コアとライブラリを持つプロジェクトがあります
コア プロジェクトの実行時にロケールを変更します。
問題は、ライブラリ プロジェクトに
Locale.getDefault();
デバイスのロケールのみを返しますが、アプリのロケールは返しません。つまり、アプリでロケールをフランス語に変更すると、デバイスが English を使用している場合、ライブラリ プロジェクトによって取得されるロケールは引き続き英語になります。修正方法は?ありがとう
デフォルトのロケールを変更できます。
以下のコードで試すことができます。
Locale locale = new Locale("fr"); //if you want to change to French
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
または、ロケール セッター メソッドを作成します。
public void setLocale(String newLocale) {
Locale locale = new Locale(newLocale);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics() );
}