安卓开发,程序多语言

一个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,以测试所有语言的标识。


扫描二维码关注公众号,回复: 631031 查看本文章


在工程的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





猜你喜欢

转载自blog.csdn.net/qq_26559913/article/details/50207985
今日推荐