关于对SpringBoot 快速实现国际化i18n "国际化"

本次是IDEA中演示

首先在resources中创建如图所示文件,本次分为"中英"两种形式
在这里插入图片描述
login.properties文件写事务(本人写的是)

login.username=用户名
login.password=密码
login.rememberme=请记住

login_en_US.properties文件写

login.username=Username
login.password=password
login.rememberme=Remember me

login_zh_CN.properties中写

login.username=用户名
login.password=密码
login.rememberme=请记住

再在‘application.properties’全局配置中配置:

#配置国际化文件基础名

spring.messages.basename=i18n.login
以上就绪后 就再写个变更语言的类
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.LocaleResolver;
import org.thymeleaf.util.StringUtils;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;
@Configuration//1定义该类是配置类
public class MyLocalResovel implements LocaleResolver {
    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        //2.本方法用于构建本地化语言环境
        String lang=httpServletRequest.getParameter("lang");//3.代本地语言参数lang的请求lang=zh_CN
        String headLang=httpServletRequest.getHeader("Accept-Language");//4.Accept-Language=en-US
        Locale locale=null;//5.用来封装本地化的返回参数
        if(!StringUtils.isEmpty(lang))//6.手动本地化参数不为空
        {
            String [] split=lang.split("_");
            locale=new Locale(split[0],split[1]);

        }else {//7.系统请求自动的
            String [] split=headLang.split("-");
            locale=new Locale(split[0],split[1]);

        }
        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
    }

    @Bean//8.把该配置文件配置成容器的Bean,就可以起作用。
    public LocaleResolver localeResolver(){
        return  new MyLocalResovel();
    }

}

在需要语言转变页面通过传递 lang='zh_CN’或lang='en_US’来控制语言的反转

如图 调用了前面所配置的语言
图中/getComment是我定义的请求的接口
在这里插入图片描述
上面的那个类 就是通过传递的lang的值,进行的设置判断

如果出现乱码 就如图设置 在这里插入图片描述

我的效果图 如图

在这里插入图片描述
在这里插入图片描述
感谢你的阅读

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值