您的位置:首页 > 其它

安卓开发,程序多语言

2015-12-07 16:55 232 查看
一个app能够多语言适配,学名国际化,这样就会显得非常高大上。

于是我也试着高大上一点。

------------------------------------------------------------------------------------------------------------

跟随系统的语言环境的变化而变化

首先可以试着看看每个语言的一些标识

private boolean isZh() {
        Locale
locale = getResources().getConfiguration().locale;
        String
language = locale.getLanguage();
        if
(language.endsWith("zh"))
            return
true;
        else
            return
false;
    }
其中languag为语言码:
zh:汉语
en:英语


来源于:
http://blog.sina.com.cn/s/blog_7bac470701014ja9.html
可以修改上例,直接输出language,以测试所有语言的标识。

在工程的res目录下,新建一些文件夹,取名为values-xxx

例如中文的,values-zh,英文的,values-en

在这些文件夹中都建一个strings.xml(可在系统创建的xml处直接复制并粘贴到对应处)

之后在写布局xml文件的时候,类似text,hint的属性,一律使用@string/xxxx,

若在java代码中用于提示等需要多语言化的文字使用getString(R.string.xxxx);

例如:Toast.makeText(getActivity(),getString(R.string.xxx), Toast.LENGTH_SHORT).show();

基本上这样就可以做一个简单的程序多语言适配了

当系统的语言被更换了之后,系统会找到与当前语言所匹配的values文件,

例如当语言切换到中文了之后,系统会匹配values-zh里面的string,

若找到了,则会正常显示

若没找到系统会自动匹配它默认的那个valus目录,也就是创建项目时,自动创建的那个values目录里面的string
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: