Springboot 国际化语言的使用

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,出错了,错误提示是:你长得太帅

 

你可能感兴趣的:(Springboot,SpringBoot)