项目可能涉及到户对项目进行访问或在国外部,那么在项目中,为客户展现的页面或者操作的信息就需要使用不同的语言,这就是我们所说的项目国际化。

① 配置 i18n 错误文案

pig-common-core/resource/i18n/ messages_zh_CN.properties

  1. sys.user.username.existing={0} 用户名已存在
  2. sys.user.userInfo.empty={0} 用户信息为空

② ErrorCodes.java中配置相应编码

  1. String SYS_USER_USERNAME_EXISTING = "sys.user.username.existing";
  2. String SYS_USER_USERINFO_EMPTY = "sys.user.userInfo.empty";

③ 使用MsgUtils获取国际化信息

  1. MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, username);

特别说明:

  • 目前系统只内置了简体中文的错误信息 messages_zh_CN.properties
  • 修改MsgUtils.java中的配置,默认中文。
  • 可以通过 LocaleContextHolder.getLocale() 动态设置语言环境

  1. /**
  2. * 通过code 获取中文错误信息
  3. * @param code
  4. * @return
  5. */
  6. public String getMessage(String code) {
  7. MessageSource messageSource = SpringUtil.getBean("messageSource");
  8. return messageSource.getMessage(code, null, Locale.CHINA);
  9. }
  10. /**
  11. * 通过code 和参数获取中文错误信息
  12. * @param code
  13. * @return
  14. */
  15. public String getMessage(String code, Object... objects) {
  16. MessageSource messageSource = SpringUtil.getBean("messageSource");
  17. return messageSource.getMessage(code, objects, Locale.CHINA);
  18. }