zoukankan      html  css  js  c++  java
  • Spring Boot系列(4)——实现国际化

    〇、什么是国际化

      国际化(internationalization,简称i18n),对不同的语言环境提供一个不同的资源文件,可以笼统地理解为语言切换。

      本文以中英文切换为例。

    一、添加国际化配置文件

      1.在类路径下新建国际化配置文件,当IDEA检测到我们需要做国际化处理时,会自动切换到国际化视图:

      2.注意:国际化配置文件得用.properties文件,文件名格式为 [基名]_[语言代码]_[国家代码].properties。配置文件的中文可能会出现乱码,注意设置IDEA的编码。

      在File->Settings...File Encodings中设置:

      

      3.其中,login.properties是默认显示,login_en_US是英文显示,login_zh_CN是中文显示,我们需编写每一个需要国际化显示的内容。

      4.SpringBoot项目国际化配置文件的基名默认是“message”,而图中我们的基名是i18n下的login,这就得在全局配置文件中设置这一基名:

        application.properties:spring.message.basename=i18n.login

      

    二、在页面中标记

      使用thymeleaf模板引擎,则直接用 #{国际化配置} 便可。

      运行起来后,程序会根据浏览器设置的语言、地区,自动显示相应的配置。(谷歌浏览器可在 设置->高级-语言 中设置)

      

       

     三、国际化如何起作用?

      1.Spring Boot中的国际化支持

        

       2.语言与地区的设置

        该组件让整个国际化配置生效,并且由容器管理该组件的生命周期

        

        

     四、根据请求显示语言

      Spring Boot已经默认配置了国际化解析器组件LocaleResolver,当然我们也可以重新配置该组件,并加入到容器,以达到根据http请求切换国际化配置文件;

      1.作用流程:

        国际化解析器组件拦截每个请求->检查有无语言切换参数->若有,则使用Locale设置语言与地区。

      2.自定义国际化解析器:

        

      3.将解析器组件加入Spring Boot容器中

         

       4.请求URL

      在页面中加入以下标签,向后台提供国际化参数

    1 <a class="btn btn-sm" th:href="@{/index(l='zh_CN')}">中文</a>
    2 <a class="btn btn-sm" th:href="@{/index(l='en_US')}">English</a>

    实际URL:
    http://localhost:8080/index?l=zh_CN
    http://localhost:8080/index?l=en_US

      

     

  • 相关阅读:
    结构体字节对齐
    ORACLE自增长字段实现
    Oracle 11.2.0.2新特性——用户重命名(Rename User)
    oracle expdp/impdp 用法详解
    sql语句面试题(城市人口统计) .
    ORA30553: 函数不确定!
    SQL Express自动备份 .
    SQL 2005的DES加密算法
    SQL 2005加密数据方法
    CREATE VIEW ORA01031
  • 原文地址:https://www.cnblogs.com/Drajun/p/12231754.html
Copyright © 2011-2022 走看看