SpringBoot---国际化

步骤:

      1.resources下创建文件夹i18n。

     

         

     2.i18n文件夹下添加国际化资源文件:xx.properties、xx_en_US.properties、xx_zh_CN.properties

      3.application.properties文件中配置国际化资源路径:spring.messages.basename=i18n.xx

#springboot 国际化资源配置
spring.messages.basename=i18n.guitar

      4.添加配置类,设置国际化语言url标识参数:

package guitar.config;

import java.util.Locale;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
import org.springframework.web.servlet.i18n.SessionLocaleResolver;

@Configuration
public class GuitarConfig{

	 /**
     * 默认解析器 其中locale表示默认语言
     */
    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver localeResolver = new SessionLocaleResolver();
        localeResolver.setDefaultLocale(Locale.CHINA); //设置默认语言为中文
        return localeResolver;
    }

    /**
     * 默认拦截器 其中lang表示切换语言的参数名
     */
    @Bean
    public WebMvcConfigurer localeInterceptor() {
        return new WebMvcConfigurer() {
            @Override
            public void addInterceptors(InterceptorRegistry registry) {
                LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
                localeInterceptor.setParamName("language");  //设置url标识国际化语言参数
                registry.addInterceptor(localeInterceptor);
            }
        };
    }
	

	
}

        5.结合thymeleaf在html中使用:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
	<title>springboot国际化测试</title>
	

</head>
<body>
<p class="p1">
	<h1 th:text="#{g1}"></h1><!--g1 是key-->
</p>
</body>
</html>

结果:

       默认中文

        英文

注:通过controller到html中,国际化才会生效。

发布了62 篇原创文章 · 获赞 25 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_39115469/article/details/100213177