近日,项目需要获取系统的所有语言,在网上查了下,发现只有一些获取系统当前的语言的方法。

首先,获取系统当前使用的语言:

方法一:

Locale locale = Locale.getLocale();String language = locale.getLanguage();String country = locale.getCountry();Log.d("Locale", language + " - " + country);

方法二:

String language = getResources().getConfiguration().locale.getLanguage();String country = getResources().getConfiguration().locale.getCountry();Log.d("Locale", language + " - " + country);

如果你当前的系统使用的是中文,那么返回的应该是zh-CN


然后是获取系统的所有可使用的语言:

Locale locale[] = Locale.getAvailableLocales();for(int i = 0;i < locale.length;i++){    Log.d("Locale", String.format(locale[i].getLanguage() + " - " + locale[i].getCountry()));}

设置系统使用的语言:

Configuration config = getResources().getConfiguration(); DisplayMetrics dm = getResources() .getDisplayMetrics(); config.locale = Locale.SIMPLIFIED_CHINESE; getResources().updateConfiguration(config, dm); 


获得系统语言的中文对应:

Locale locales[] = Locale.getAvailableLocales();for (int i = 0; i < locale.length; i++){       Log.d("Locale",              "locales[" + i + "].getDisplayLanguage() = " + locales[i].getDisplayLanguage()                 + " : locales[" + i + "].getDisplayCountry() = "+ locales[i].getDisplayCountry()                 + " : locales[" + i + "].getDisplayName() = " + locales[i].getDisplayName()}



附:

各国语言缩写 http://www.loc.gov/standards/iso639-2/php/code_list.php
国家和地区简写 http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html




更多相关文章

  1. Android:安装APK包以后系统文件目录的变化
  2. Android 系统信息获取(CPU,RAM,ROM,Battery,SD-card,版本等)
  3. android 系统裁剪
  4. Notification用法,注意API版本,API大于11的setLatestEventInfo()方
  5. Android调用系统Activity选取图像部分区域
  6. Android多国语言使用
  7. 简单android环境搭建,xp系统

随机推荐

  1. android后台布局
  2. mac下配置android studio工具
  3. Android判断app是否后台运行中,后台运行通
  4. android简单的请求手机权限封装
  5. 【转】Eclipse 开发Android小程序遇到的
  6. Android(安卓)Activity切换动画案例
  7. android studio cannot resolve symbol '
  8. 【Android(安卓)基础】之 ImageView 的 s
  9. Android(安卓)挂断电话流程
  10. Android(安卓)学习资料推荐