本地化 Android 阿拉伯语低于 android N
Localization Android Arabic below android N
大家好,我正在开发同时支持英语和阿拉伯语的应用程序,英语版本运行良好,但阿拉伯语在 Android N
以下无法正常运行
Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null)
首先,检查您的设备是否支持阿拉伯语。
其次,确保使用以下方法在运行时针对不同的 API 更改 Android 上的语言:
updateConfiguration
对于 API < 17
createConfigurationContext
对于 API ≥ 17
更多信息,请查看以下文章:change-language-programmatically-at-runtime
您还需要在较低 API 上更新资源中的配置。试试这个:
Locale locale = new Locale("ar");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);
} else {
Configuration config = new Configuration();
config.locale = locale;
Locale.setDefault(config.locale);
Resources resources = applicationContext.getResources();
resources.updateConfiguration(config, resources.getDisplayMetrics());
}
大家好,我正在开发同时支持英语和阿拉伯语的应用程序,英语版本运行良好,但阿拉伯语在 Android N
以下无法正常运行Locale locale = new Locale("ar");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null)
首先,检查您的设备是否支持阿拉伯语。
其次,确保使用以下方法在运行时针对不同的 API 更改 Android 上的语言:
updateConfiguration
对于 API < 17
createConfigurationContext
对于 API ≥ 17
更多信息,请查看以下文章:change-language-programmatically-at-runtime
您还需要在较低 API 上更新资源中的配置。试试这个:
Locale locale = new Locale("ar");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);
} else {
Configuration config = new Configuration();
config.locale = locale;
Locale.setDefault(config.locale);
Resources resources = applicationContext.getResources();
resources.updateConfiguration(config, resources.getDisplayMetrics());
}