matrix.boot.based.utils.I18nMessageUtil Maven / Gradle / Ivy
package matrix.boot.based.utils;
import lombok.extern.slf4j.Slf4j;
import matrix.boot.common.utils.StringUtil;
import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;
import java.util.Locale;
/**
* 国际化语言工具
*
* @author wangcheng
* date 2022/10/28
*/
@Slf4j
public class I18nMessageUtil {
/**
* 获取国际化后的语言
*
* @param code 编码
* @return 国际化后的语言
*/
public static String get(String code) {
String message = I18nMessageUtil.get(code, StringUtil.EMPTY_STRING, new String[]{});
if (StringUtil.isEmpty(message)) {
log.warn("i18n code -> message not exists {}", code);
}
return message;
}
/**
* 获取国际化后的语言
*
* @param code 编码
* @param defaultMessage 默认消息
* @return 国际化后的语言
*/
public static String get(String code, String defaultMessage) {
return I18nMessageUtil.get(code, defaultMessage, new String[]{});
}
/**
* 获取国际化后的语言
*
* @param code 编码
* @param defaultMessage 默认消息
* @param args 参数
* @return 国际化后的语言
*/
public static String get(String code, String defaultMessage, String... args) {
MessageSource messageSource = WebUtil.getBean(MessageSource.class);
return messageSource.getMessage(code, args, defaultMessage, LocaleContextHolder.getLocale());
}
}