1、Springboot 内置整合了国际化语言,我们只需要配置一下文件路径、编码就可以了。相关的其他配置,可以查看一下:
MessageSourceAutoConfiguration ; application.yml文件配置如下:
spring:
messages:
basename: i18n/message,i18n/welcome
encoding: utf-8
此时,Springboot就已经帮你整合完成了,一般我们可以设置一下默认的语言,我默认语言为:简体中文,
@Bean
public SessionLocaleResolver localeResolver() {
SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();
sessionLocaleResolver.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
return sessionLocaleResolver;
}
然后,我提交上我的国际化语言的配置文件吧:message.properties
login.title=这是我的国际化语言的标题
login.hello=这个世界真美好!
login.error={0},出错了,错误提示是:{1}
2、国际化语言的使用:
1)、前端页面使用:使用 thymeleaf 模板引擎,通过#{key}
Title
2、后端,java 使用:使用 MessageSource 的getMessage(String code,Obect[] args,Locale locate) 方法。
参数解析:
code:对应的配置文件的key值 ,若没有找到,会抛异常:org.springframework.context.NoSuchMessageException;
args : 语句中的{num}的参数实例,从 0 开始
locale : 读取文件的语言,若对应的没有找到,会用默认的语言。
@Autowired
private MessageSource messageSource;
。。。。
System.out.println(messageSource.getMessage("login.error",new Object[]{new Date(),"你长得太帅"},Locale.getDefault()));
这时候打印出来的就是: 18-10-10 上午11:04,出错了,错误提示是:你长得太帅