首先是编辑国际化信息

Android上泰国简称 泰国的简称英文缩写_System


文件命名为:XXX_xx_XX.properties

黄色部分是固定的国际化语言缩写


部分国际化语言缩写如下:
简体中文(中国)
 zh-cn
 繁体中文(台湾地区)
 zh-tw

繁体中文(香港)
 zh-hk
 英语(香港)
 en-hk

英语(美国)
 en-us
 英语(英国)
 en-gb

英语(全球)
 en-ww
 英语(加拿大)
 en-ca

英语(澳大利亚)
 en-au
 英语(爱尔兰)
 en-ie

英语(芬兰)
 en-fi
 芬兰语(芬兰)
 fi-fi

英语(丹麦)
 en-dk
 丹麦语(丹麦)
 da-dk

英语(以色列)
 en-il
 希伯来语(以色列)
 he-il

英语(南非)
 en-za
 英语(印度)
 en-in

英语(挪威)
 en-no
 英语(新加坡)
 en-sg

英语(新西兰)
 en-nz
 英语(印度尼西亚)
 en-id

英语(菲律宾)
 en-ph
 英语(泰国)
 en-th

英语(马来西亚)
 en-my
 英语(阿拉伯)
 en-xa

韩文(韩国)
 ko-kr
 日语(日本)
 ja-jp

荷兰语(荷兰)
 nl-nl
 荷兰语(比利时)
 nl-be

葡萄牙语(葡萄牙)
 pt-pt
 葡萄牙语(巴西)
 pt-br

法语(法国)
 fr-fr
 法语(卢森堡)
 fr-lu

法语(瑞士)
 fr-ch
 法语(比利时)
 fr-be

法语(加拿大)
 fr-ca
 西班牙语(拉丁美洲)
 es-la

西班牙语(西班牙)
 es-es
 西班牙语(阿根廷)
 es-ar

西班牙语(美国)
 es-us
 西班牙语(墨西哥)
 es-mx

西班牙语(哥伦比亚)
 es-co
 西班牙语(波多黎各)
 es-pr

德语(德国)
 de-de
 德语(奥地利)
 de-at

德语(瑞士)
 de-ch
 俄语(俄罗斯)
 ru-ru

意大利语(意大利)
 it-it
 希腊语(希腊)
 el-gr

挪威语(挪威)
 no-no
 匈牙利语(匈牙利)
 hu-hu

土耳其语(土耳其)
 tr-tr
 捷克语(捷克共和国)
 cs-cz

斯洛文尼亚语
 sl-sl
 波兰语(波兰)
 pl-pl

瑞典语(瑞典)
 sv-se
 西班牙语(智利)
 es-cl

msg_zh_CN.properties:

msg = \u8BE5\u5B66\u751F\u7684\u59D3\u540D {0} \u548C\u5E74\u9F84 {1}  

Android上泰国简称 泰国的简称英文缩写_System_02


msg_zh_TW.properties:

msg = \u8A72\u5B78\u751F\u7684\u59D3\u540D {0} \u548C\u5E74\u9F61 {1}  

Android上泰国简称 泰国的简称英文缩写_Android上泰国简称_03



注:

  • 当你输入中文的时候,会自动转换为对应的字节码
  • properties 文件内容以键值对的形式存在

在配置中引入

<beanid="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<propertyname="basename"value="msg"></property>
</bean>

如果要列举多个:

<beanid="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<propertyname="basenames">
        <list>
             <value>msg</value>
            ...
        </list>
    </property>
</bean>

注:

  • 其他部分是固定的,只是 value 是发生变化
  • value 值对应上面命名中的红色部分,例如:msg_zh_CN.properties;如果要访问这个文件,则 value 值为 msg;

使用例子:

(是将需要的数据以数组的形式组合,下面代码一看就知道是什么意思了,也不用多加说明了)

Object[] obj = new Object[]{student.getName(), student.getAge()};
//System.out.println("该学生的姓名:" + student.getName() +" 年龄:" + student.getAge());
System.out.println(context.getMessage("msg", obj, Locale.CHINA));
System.out.println(context.getMessage("msg", obj, Locale.TAIWAN));

 


注:properties 中的 {0}、{1} ... 对应数组中的索引的值


就这么简单


渣渣就得在 Bug 中挣扎!



一分耕耘一分收获