我想知道是否有可能将默认的android操作系统语言更改为其他。例如,语言不在设置中:如何设置设备的语言以编程方式缅怀。Android:有什么方法可以将Android的默认语言更改为新语言?
回答
使用此功能可以通过programmatically--
Locale locale = new Locale("en_US");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
context.getApplicationContext().getResources().updateConfiguration(config, null);
改变语言编写语言的COUNTRYCODE代替“EN_US”任何你想要的语言......像对于日语 - “ja_JP”对于阿拉伯语 - “ar”或查看此链接查看国家代码 -
http://code.google.com/apis/igoogle/docs/i18n.html
,并在RES /值-JA日本或RES /值-AR阿拉伯语的文件夹..
而且使string.xml文件并把任何你想要的语言在你的布局..它会从值文件夹中获取默认语言,否则手动需要它,然后它会从您的外部文件夹值中提取值-ar等...
其示例res/values-ar阿拉伯语 - -
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="spinner_label">تصفية حسب</string>
<string name="app_name">2011 فرق</string>
<string name="search">بحث :</string>
</resource>
希望这将有助于你..
好答案绿巨人先生。我在我的projcet(Diff)中使用相同的代码:P – 2013-03-14 09:49:08
在哪里放置此代码Local.setDefault?在MainActivity.java中? – 2013-04-19 22:24:46
你需要把它放在每一个activity的onCreate()中。否则,它可能会被系统覆盖 - 例如,当您将设备设置为横向时,您的活动将通过新的(系统提供的)配置重新创建。 – 2014-06-29 12:32:27
您可以将语言环境更改为任何您想要的,并且系统需要支持它。
试试这个:
public static void changeLocale(Locale locale) {
try {
Class<?> activityManagerNative = Class.forName("android.app.ActivityManagerNative");
Object am = activityManagerNative.getMethod("getDefault").invoke(activityManagerNative);
Object config = am.getClass().getMethod("getConfiguration").invoke(am);
config.getClass().getDeclaredField("locale").set(config, locale);
config.getClass().getDeclaredField("userSetLocale").setBoolean(config, true);
am.getClass().getMethod("updateConfiguration", android.content.res.Configuration.class).invoke(am, config);
Log.i(LOG_TAG, "send change locale request");
} catch (Exception e) {
Log.e(LOG_TAG, "change locale error:", e);
}
}
此代码是否将默认语言更改为其他新语言? – 2012-03-13 07:04:25
是的,缅甸语言环境可能会喜欢'Locale locale = new Locale(“my”)',但您的设备需要支持此语言,否则系统不会更改语言。 – idiottiger 2012-03-13 07:06:23
+1这个有用的信息。但是如果设备没有内置的缅语言,我必须让它在所有设备上工作呢? – 2012-03-13 07:11:35
你可以试试这个Localization Library。来自github
- 1. Android:默认语言环境语言“hd”
- 2. 更改默认语言环境语言android
- 3. 我的Android应用程序更改默认语言为英语
- 4. Android更改语言
- 5. 有什么办法可以将默认语言翻译成葡萄牙语吗?
- 6. 是否可以更改本地化的默认英语语言?
- 7. android:默认语言设置为亚洲
- 8. 将trac的默认语言更改为德语
- 9. 将默认语言alfresco community 5.1.x更改为越南语
- 10. 默认将应用程序语言更改为英语
- 11. android更改语言日期
- 12. 更改Android语言监听
- 13. Android:更改语言依据
- 14. 更改WMAppManifest.xml中的默认语言
- 15. 我该如何更改android软键盘的默认语言?
- 16. 如何更改ANDROID Emulator的默认语言?
- 17. 有什么方法可以用C语言改变目录吗?
- 18. 我可以更改默认语言环境以使用吗?
- 19. 更改默认输入语言在AS3
- 20. 更改网站默认语言(Wordpress)
- 21. Trac默认语言
- 22. 如何将NLTK默认的wordnet语言更改为zsm?
- 23. Android - 更改应用程序本身的语言环境语言
- 24. 在Ionic2上更改语言 - 更改所有页面语言的最有效方法是什么?
- 25. 将PayPal语言更改为英语
- 26. 如何将键盘输入语言以编程方式更改为android中的所选语言
- 27. 如何更改默认语言泰米尔语在Android模拟器
- 28. 什么语言可以编译为javascript?
- 29. Android语言的动态更改
- 30. 旋转后的Android语言更改
你说的是在代码*中做这个*吗? – 2012-03-13 06:58:52
@John Skeet:请参阅我更新的问题。是的,我需要以编程方式进行。 – 2012-03-13 06:59:55
你是否正在寻找开发除Java之外的其他平台的android应用程序? – 2012-03-13 07:01:11