您好我正在开发一个Android项目。
我想为applciation提供多语言支持。 我研究了它,但我发现几乎所有东西都有本地化。
有没有办法在不使用本地化的情况下执行此操作?
我的偏好是使用语言支持本地化或支持的版本。
我的意思是用户可以在应用程序中切换语言。
我可以使用多个值文件吗?
答案 0 :(得分:4)
使用此按代码更改语言 -
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”或检查此链接以获取国家代码 -
http://code.google.com/apis/igoogle/docs/i18n.html
为日语创建 res / values-ja 的文件夹,为阿拉伯语创建 res / values-ar 文件夹。
制作 string.xml 文件并将您想要的语言放在您的布局上。 它将从values文件夹中获取默认语言,否则您需要手动获取它,然后它将从您的外部文件夹值-ar等获取... ...
它的例子是res / values-ar for arabic -
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="spinner_label">تصفية حسب</string>
<string name="app_name">2011 فرق</string>
<string name="search">بحث :</string>
</resource>
希望它会帮助你......
答案 1 :(得分:0)
您可以使用Android的默认语言文件,并在调用setContentView()之前设置应该使用的语言。 这是一篇关于它的简短文章: http://adrianvintu.com/blogengine/post/Force-Locale-on-Android.aspx
答案 2 :(得分:0)
是的,您使用
填写了您的要求Locale locale = new Locale("en_US");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);