首页> 文章> 详情

Spring Boot + thymeleaf i18n国际资源化

教程分享 (169) 2024-07-09 10:28:29

配置

在resources目录下面创建i18n目录,然后创建几个文件

  • messages.properties 默认显示语言内容
  • messages_en_US.properties 英语内容
  • messages_zh_CN.properties 中文内容
操作示例图-92460bb314444364ba6839a4df52aa24.png

 

messages.properties 


i18n.language.chinese=中文
i18n.language.english=English
i18n.home=首页
i18n.about=关于我们

messages_en_US.properties


i18n.language.chinese=中文
i18n.language.english=English
i18n.home=Home
i18n.about=About Us

messages_zh_CN.properties


i18n.language.chinese=中文
i18n.language.english=English
i18n.home=首页
i18n.about=关于我们

 

application.yml 配置


spring: 
  messages:
   basename: i18n/messages

注意:这里的basename 是配置的到资源文件名(不含.properties)的相对classpath路径可以配置多个,英文逗号分隔。

启动类实现WebMvcConfigurer接口


@SpringBootApplication
public class Application implements WebMvcConfigurer {
    /**
     * for i18n cookieLocale更智能
     */
    @Bean
    public LocaleResolver localeResolver(){
        return new CookieLocaleResolver();
    }
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
     
		//....其他配置.....
		
        //i18n
        LocaleChangeInterceptor localeChangeInterceptor=new LocaleChangeInterceptor();
        localeChangeInterceptor.setParamName("lang");
        registry.addInterceptor(localeChangeInterceptor);
    }
}

Locale切换接口


@Controller
public class LocaleController {
    @GetMapping(value = "/locale")
    public String localeHandler(HttpServletRequest request) {
        String lastUrl = request.getHeader("referer");
        return "redirect:" + lastUrl;
    }
}

Locale接口调用参考


<a class="dropdown-item" th:href="@{/locale(lang=es_ES)}"
   th:text="#{i18n.language.chinese}">中文</a>
<a class="dropdown-item" th:href="@{/locale(lang=en_US)}"
   th:text="#{i18n.language.english}">English</a>

 

Locale本地化信息展示使用参考:

<li class="item active"><a href="/" th:text="#{i18n.home}">首页</a></li>
<li class="item"><a href="./about.html" th:text="#{i18n.about}">关于我们</a></li>

 

 

https://www.leftso.com/article/2407031532463557.html

相关文章

配置在resources目录下面创建i18n目录,然后创建几个文件messages.properties 默认显示语言内容messages_en_US.prop
使用thymeleaf 模板创建时间 使用thymeleaf 创建指定日期为:2023-10-18 #dates.create(2023,10,18) 使用thymeleaf 创建指定...
Thymeleaf 递归,Thymeleaf模板引擎递归展示如评论留言等场合适用
SSH/SSM项目中如何集成thymeleaf?本文将讲解SSH/SSM项目中如何集成thymeleaf模板引擎
Spring Boot 1.x升级到Spring Boot 2.0迁移指南
spring boot入门,spring boot是一个崭新的spring框架分支项目,本文讲解其属性配置相关
spring boot 导入本地jar包spring boot maven 打war包时候导入本地jar包
一、项目环境Spring Boot 2.1.2.RELEASEshiro-spring 1.4二、去掉URL jsessionid在shiro配置中,配置关闭url中显示sessionId ...
spring boot 开发技巧,在开发web项目中跳过thyemeleaf模板/js/css等缓存避免每次修改资源文件都需要重启服务器
Java编程之Spring Boot 使用SLF4J Logging,spring boot,SLF4J
引言    通过之前spring boot mybatis 整合的讲解: spring boot mybaties整合  (spring boot mybaties 整合 基于Java注解方式写...
本文说一下在thymeleaf模板引擎中,如何给 textarea 赋值
I3 8300T参数详情,I3 8300T 价格参考,I3 8300T性能参考,I3 8300T又一代高性能HTPC或者高性能NAS选择之一。