Android中获取不同语言目录下的字符串

原创 2015年07月09日 17:28:59
首先创建两个API:

         private final static String LAN_FR = "fr";
	private final static String LAN_ES = "es";


Resources getResourcesByLocale( Resources res, String localeName ) { Configuration conf = new Configuration(res.getConfiguration()); conf.locale = new Locale(localeName); return new Resources(res.getAssets(), res.getDisplayMetrics(), conf); } private void resetLocale(Resources res){ Configuration conf = new Configuration(res.getConfiguration()); conf.locale = mCurLocale; new Resources(res.getAssets(), res.getDisplayMetrics(), conf); }

然后使用:

                Resources res = mContext.getResources();
		if(res != null){
			mCurLocale = res.getConfiguration().locale;  //得到当前的语言
			
			
		
			Resources res_es = getResourcesByLocale(res, LAN_ES); //得到指定语言的资源
                        //取对应语言的字符串资源的值
                        mEqTypeStr_ES[EqualizerType.Custom.ordinal()] = res_es.getString(R.string.audio_custom);
			mEqTypeStr_ES[EqualizerType.Talk.ordinal()] = res_es.getString(R.string.audio_talk);
			mEqTypeStr_ES[EqualizerType.Classical.ordinal()] = res_es.getString(R.string.audio_classical);

			//重置当前资源为当前语言的资源,必须要这一步
			resetLocale(res);
			

                        //再取其他语言的对应资源
			Resources res_fr = getResourcesByLocale(res, LAN_FR);
			mEqTypeStr_FR[EqualizerType.Custom.ordinal()] = res_fr.getString(R.string.audio_custom);
			mEqTypeStr_FR[EqualizerType.Talk.ordinal()] = res_fr.getString(R.string.audio_talk);
			mEqTypeStr_FR[EqualizerType.Classical.ordinal()] = res_fr.getString(R.string.audio_classical);
			mEqTypeStr_FR[EqualizerType.Rock.ordinal()] = res_fr.getString(R.string.audio_rock);
			mEqTypeStr_FR[EqualizerType.Jazz.ordinal()] = res_fr.getString(R.string.audio_jazz);



Android 各国语言包字符串缩写

语言缩写: http://www.loc.gov/standards/iso639-2/php/code_list.php 国家地区缩写: http://www.iso.org/iso/coun...

App工程结构搭建:几种常见Android代码架构分析

关于Android架构,因为手机的限制,目前我觉得也确实没什么大谈特谈的,但是从开发的角度,看到整齐的代码,优美的分层总是一种舒服的享受的。 从艺术的角度看,其实我们是在追求一种美。 本文先分析几...

Android地位的4大方式

开发中对于地图及地理位置的定位是我们经常要用地,地图功能的使用使得我们应用功能更加完善,下面总结了一下网络中现有对于介绍android定位的4种方式,希望对大家有帮助: android 定位一般有四...

用不同的方法实现字符串的逆序输出(C语言实现)

用不同的方法实现字符串的逆序输出(C语言实现) 今天去面试遇到面试题如下: 请将字符串"123456",逆序输出? 当时我使用是指针,以下我将后来我想到的方法,实现如下: #include #in...

Java 语言程序设计 变化不同颜色和大小的字符串

/** *作者:wwj *日期:2012/4/25 *功能:在窗口中显示不停变化大小和颜色的字符 *说明:利用多线程实现的applet小程序 **/ import java.awt.*; i...
  • wwj_748
  • wwj_748
  • 2012年04月25日 08:56
  • 5008

【C语言】 两种不同的方法在一个字符串中找指定的字符

在标准库中已经给出strchar  和 strrchr 两个函数可以很直接调用。 函数原型如下 char *strchr(char const *str,int ch) char *strrchr(c...

多国语言不同字符串显示--LoadString函数

其实这里也是一个程序中加载资源的分析实例。 创建win32项目。 源码如下: // TestLoadStr.cpp : 定义应用程序的入口点。 // #include "stdafx.h...
  • ghevinn
  • ghevinn
  • 2013年01月28日 17:55
  • 2031

android SDK下各目录的用途,以及在不同系统下哪些是通用的。

Android SDK 目录下有很多文件夹,主要都是干什么的呢? 1. add-ons 这里面保存着附加库,比如google Maps,当然你如果安装了OPhone SDK,这里也会有一些类库...

Android drawable 目录下不同精度 浅析

1. 不同 drawable 目录下对应的手机分辨率后两种是主流不同分辨率的手机会优先去对应的 drawable 目录下找对应的图片,如果该目录下没有或者没有该目录,回去附近的 drawable 目录...

android资源目录---assets与res/raw的不同

assets:用于存放需要打包到应用程序的静态文件,以便部署到设备中。与res/raw不同点在于,ASSETS支持任意深度的子目录。这些文件不会生成任何资源ID,必须使用/assets开始(不包含它)...
  • frdde
  • frdde
  • 2012年02月21日 15:05
  • 366
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中获取不同语言目录下的字符串
举报原因:
原因补充:

(最多只允许输入30个字)