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

配置 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

可以通过 LocaleContextHolder.getLocale() 动态设置语言环境

MsgUtils 使用示例

/**
 * 通过 code 获取中文错误信息
 * @param code 错误码
 * @return 错误信息
 */
public String getMessage(String code) {
    MessageSource messageSource = SpringUtil.getBean("messageSource");
    return messageSource.getMessage(code, null, Locale.CHINA);
}

/**
 * 通过 code 和参数获取中文错误信息
 * @param code 错误码
 * @param objects 参数
 * @return 错误信息
 */
public String getMessage(String code, Object... objects) {
    MessageSource messageSource = SpringUtil.getBean("messageSource");
    return messageSource.getMessage(code, objects, Locale.CHINA);
}

♥️ 获取支持

遇到问题?

如果您在使用过程中遇到任何问题、有功能建议或需求,请点击此卡片前往 Gitee 仓库提交 Issue。