Springboot(2.2.4版本)国际化

1:在resources目录下创建文件名为messages.properties(找不到对应的语言默认显示该文件中的内容)的资源文件;

2:在resources目前下再创建以messages开头的您需要的语言资源文件,如:message_en_US.properties,messages_语言_国家简称.properties:

Springboot(2.2.4版本)国际化_第1张图片

3:在文件中填入对应语言的内容:

Springboot(2.2.4版本)国际化_第2张图片

4:点击超链接(中文)就显示中文,点击超链接(英文)就显示的代码如下:

前端代码:传一个参数给服务端,服务端根据参数值把界面渲染成相应的语言

服务端代码

//实现区域信息对象接口,重写resovleLocale方法,自定义国际化语言
public class MyLocaleResolve implements LocaleResolver {
    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
        //获取本地默认区域信息(填充的是messages.properties中的内容)
        Locale locale = Locale.getDefault();
        //获取前端传过来的参数
        String l = httpServletRequest.getParameter("l");
        if (!StringUtils.isEmpty(l)){
            //截取字符串:zh_CN,s[0]获取语言代码,s[1]获取国家代码
            String[] s = l.split("_");
            //根据传过来的参数值渲染界面
            locale = new Locale(s[0],s[1]);
        }
        return locale;
    }

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

    }
}

5 结果如下:

中文:由于我没有创建messages_zh_CN.properties文件,所以使用的是默认文件(messages.properties)

Springboot(2.2.4版本)国际化_第3张图片

英语:

Springboot(2.2.4版本)国际化_第4张图片

你可能感兴趣的:(Springboot)