我是Android新手。在我的应用程序中,用户可以选择三种语言的语言。根据用户选择的语言,应该更改整个应用程序的语言。我怎么能这样做?
答案 0 :(得分:50)
使用此选项以编程方式更改语言:
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>
答案 1 :(得分:6)
您可以设置区域设置。
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);