Spring MVC国际化,动态设置默认语言
来源:互联网 发布:淘宝收货地址怎么改 编辑:程序博客网 时间:2024/06/06 05:47
0.首先将需要国际化的固定文本放到properties文件里,如下图所示:
1.applicationContext.xml里加如下代码,即将resourceBundleMessageSource类加入到spring的容器里
<bean id="resourceBundleMessageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>i18n/myproperties</value> </list> </property></bean>
2.在需要做国际化的controller里进行注入
@Autowiredprotected ResourceBundleMessageSource resourceBundleMessageSource;
3.写一个通用的方法
Locale cn = Locale.CHINA;//中文zh_CN
Locale us = Locale.US;//英文en_US
Locale us = Locale.TAIWAN;//繁体zh_TW
//对固定文本实现国际化的方法public String getKeyByLang(String key,String lang) { //String keyByLang = this.getKeyByLang("username", "zh_TW"); if ("zh_CN".equals(lang)) { return resourceBundleMessageSource.getMessage(key, null, Locale.CHINA); }else if ("en_US".equals(lang)) { return resourceBundleMessageSource.getMessage(key, null, Locale.US); }else { return resourceBundleMessageSource.getMessage(key, null, Locale.TAIWAN); }}4.调用
传入需要国际化的key(如username),和lang(如en_US),就可以动态获取相应的语言
String keyByLang = this.getKeyByLang("username", "en_US");
public class test {
public static void main(String[] args) {
//资源包基名(包名+myproperties)
String basename = "i18n.myproperties";
//设置语言环境
Locale cn = new Locale("zh", "CN");
Locale us = new Locale("en", "US");
Locale tw = new Locale("zh", "TW");
//Locale cn = Locale.CHINA;//中文
//Locale us = Locale.US;//英文
//Locale us = Locale.TAIWAN;//英文
//根据基名和语言环境加载对应的语言资源文件
//System.out.println(us.getLanguage());//zh en
//System.out.println(us.getCountry());//CN US
ResourceBundle myResourcesCN = ResourceBundle.getBundle(basename,cn);//加载myproperties_zh.properties
ResourceBundle myResourcesUS = ResourceBundle.getBundle(basename,us);//加载myproperties_en.properties
ResourceBundle myResourcesTW = ResourceBundle.getBundle(basename,tw);//加载myproperties_tw.properties
String usernameCN = myResourcesCN.getString("username");
String usernameTW = myResourcesTW.getString("username");
//加载资源文件后, 程序就可以调用ResourceBundle实例对象的 getString方法获取指定的资源信息名称所对应的值。
String usernameUS = myResourcesUS.getString("username");
}
}
- Spring MVC国际化,动态设置默认语言
- 如何实现 Spring MVC i18n 国际化,动态设置默认语言
- Spring mvc国际化设置(cookie)
- ios 国际化及默认语言设置
- 如何设置国际化的默认语言
- ios 国际化及默认语言设置
- spring mvc 设置默认首页
- Spring MVC默认首页设置
- spring的MVC国际化的设置
- 如何设置默认页面spring mvc
- CAS SSO 中设置默认语言为汉语(国际化)
- Spring MVC国际化配置
- Spring MVC国际化配置
- Spring MVC国际化
- Spring MVC国际化
- Spring MVC 国际化
- Spring MVC 国际化
- Spring mvc国际化
- Java线程间通信问题分析(生产者消费者模型)
- solr-6.6与tomcat-8.5安装
- c++ 多值返回,指针使用
- 跳出学生端程序
- TypeError: 'str' object is not callable
- Spring MVC国际化,动态设置默认语言
- elastic search5.4.3安装head插件
- C语言模拟实现memcpy和memmove
- php 5种设计模式
- TCP协议三次握手以及四次挥手
- Android ART运行时无缝替换Dalvik虚拟机的过程分析
- 前端的意义在哪里?
- hdu 1867 A + B for you again
- Word转换PDF的三种方法使用教程