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}

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title th:text="#{login.title}">Title</title>
</head>
<body>
    <p th:text="#{login.hello}"></p>
</body>
</html>

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值