Spring国际化 Spring(3)

废话少说,直接上代码

package com.application.i18n;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Locale;import java.util.Map;import org.springframework.context.MessageSource;public class I18N {private static Map<String , Locale> locales;String DEFAULT_LOCALE = “zh_CN”; MessageSource messageSource ;static{//注册支持的语言环境locales = new HashMap<String , Locale>();locales.put(“zh_CN”,Locale.CHINA);locales.put(“zh_TW”,Locale.TAIWAN);}/**× 私有构造函数*/private I18N(MessageSource messageSource){this.messageSource = messageSource;}/*** 从国际化消息文件中根据key获取value,然后用参数填充value里面的占位符* @param code*message key* @param locale*语言国家代码zh_CN,zh_TW(etc..),香港服务器租用,如果为null,采用用户默认的语言国家代码获取消息文件* @param arguments*占位符填充参数,没有占位符,传null* String getMessage(String code, String locale , Object[] arguments) {//if(null == locale){//ConnectionUser connectedUser = ApplicationAdapter.getConnectionUser(null);//if(connectedUser != null){//locale = connectedUser.getSessionValue(“locale”).toString();//}else{locale = DEFAULT_LOCALE;//} messageSource.getMessage(code, arguments , locales.get(locale));}/*** 使用指定locale,从国际化消息文件中根据key获取value* @param locale*语言国家代码zh_CN,zh_TW(etc..),如果为null,采用用户默认的语言国家代码获取消息文件* @param code*message key* String getMessage(String locale,String code) {return getMessage(code, locale , null);}/*** 使用用户默认语言国家代码,从国际化消息文件中根据key获取value* @param code*message key* String getMessage(String code) {return getMessage(code,null,null);}/*** 根据消息key数组获取消息值列表* @param codeList* List<String> getMessageList(String… codeList){if(null != codeList){List<String> messageList = new ArrayList<String>();for(String code : codeList){messageList.add(getMessage(code));}return messageList;}return null;}/*** 使用用户默认语言国家代码,从国际化消息文件中根据key获取value* @param code*message key* @param arguments*占位符填充参数,没有占位符,免备案空间,传null* String getMessage(String code, Object[] arguments) {return getMessage(code, null, arguments);}/*** 注册locale对象,才能支持对应的语言环境* @param locale registerLocale(Locale locale){locales.put(locale.toString(), locale);}},香港服务器如果可以,我真想和你一直旅行。或许是某个未开发的荒凉小岛,

Spring国际化 Spring(3)

相关文章:

你感兴趣的文章:

标签云: