首页 > 代码库 > 安卓平台多语言的简单实现

安卓平台多语言的简单实现

这里,我们实现两个语言,简体中文和繁体中文。

在res目录下建议两个文件夹

values-zh-rCN

values-zh-rTW

两个文件夹下都有一个strings.xml文件。

两个同名文件的字符串表,id是一样的,但是,内容的语言不一样。

比如<string name="quit_dlg_title">提示</string>
    <string name="quit_dlg_content">累了吧!休息一下吧!记得回来哦!</string>
    <string name="quit_dlg_okbtn_title">好的</string>
    <string name="quit_dlg_cacelbtn_title">点错了</string>

<string name="quit_dlg_title">提示</string>
    <string name="quit_dlg_content">累了吧!休息一下吧!記得回來哦!</string>
    <string name="quit_dlg_okbtn_title">好的</string>
    <string name="quit_dlg_cacelbtn_title">點錯了</string>

这是一个给对话框用的字符串资源。

这时候在程序里

String strPackage = mContext.getApplication().getPackageName();
			Resources mRes = mContext.getResources();
			int id = mRes.getIdentifier("quit_dlg_title", "string", strPackage);//主要是这句
			strTitle = mRes.getString(id);

这样,就把字符串给取到了。而不是通过

strTitle = mRes.getString(R.string.quit_dlg_title);

这样的方式来取,这样的话就不需要在代码文件开始处用

import导入R文件。因为正常的方法一旦包名更改,代码就得更改。

别的字符串就类似了,不再赘言。