项目可能涉及到户对项目进行访问或在国外部,那么在项目中,为客户展现的页面或者操作的信息就需要使用不同的语言,这就是我们所说的项目国际化。
① 配置 i18n 错误文案
pig-common-core/resource/i18n/ messages_zh_CN.properties
sys.user.username.existing={0} 用户名已存在
sys.user.userInfo.empty={0} 用户信息为空
② ErrorCodes.java中配置相应编码
String SYS_USER_USERNAME_EXISTING = "sys.user.username.existing";
String SYS_USER_USERINFO_EMPTY = "sys.user.userInfo.empty";
③ 使用MsgUtils获取国际化信息
MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, username);
特别说明:
- 目前系统只内置了简体中文的错误信息 messages_zh_CN.properties
- 修改MsgUtils.java中的配置,默认中文。
- 可以通过 LocaleContextHolder.getLocale() 动态设置语言环境
�
/**
* 通过code 获取中文错误信息
* @param code
* @return
*/
public String getMessage(String code) {
MessageSource messageSource = SpringUtil.getBean("messageSource");
return messageSource.getMessage(code, null, Locale.CHINA);
}
/**
* 通过code 和参数获取中文错误信息
* @param code
* @return
*/
public String getMessage(String code, Object... objects) {
MessageSource messageSource = SpringUtil.getBean("messageSource");
return messageSource.getMessage(code, objects, Locale.CHINA);
}