Springboot 国际化

1、application.properties

// 注意这里的 myi18n 是一个文件夹名称
// messages 也是一个文件夹名称
// 最后一个 message 它是 message.properties、message_en_US.properties 、message_zh_CN.properties 
// 这三个配置文件的前缀去掉国家信息的值
spring.messages.basename=myi18n.messages.message

  

2、配置文件目录

这里有三个配置文件分别是 message.properties、message_en_US.properties (美式英语)、message_zh_CN.properties(中文),springboot 会根据语言信息选择对应的国际化文件,如果在指定的路径下面找不到对应的 message_xxx.properties 配置文件,则会使用默认的配置文件 message.properties

Springboot 国际化

 

3、静态页面取出国际化配置的值

在 thymeleaf 静态页面中,使用国际化表达式 #{} 来取出配置文件中的值

<h1 class="h3 mb-3 font-weight-normal" th:text="#{login.tip}">Please sign in</h1>

  

4、问题点

在 thymeleaf 的静态页面使用 #{} 取值的时候出现了如下错误

Springboot 国际化

百度查找原因,说是 IDEA 版本不对,需要在 springboot 的配置文件 application.properties 更改 basename 的写法

# spring.messages.basename=myi18n.messages.message
// 换成这种写法经测试有效
spring.messages.basename=myi18n/messages/message

  

 

上一篇:python os.path.basename()


下一篇:node.js代码总结