欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

国际化

程序员文章站 2022-03-06 18:29:21
页面国际化为什么学习国际化:用于多语言切换准备工作在IDEA中设置统一Properties的编码:settings搜索fileEncodings配置文件编写在resources资源文件中新建文件夹一般命名为i18n,用于存放国际化配置文件建立login.properties文件。存放默认语言。建立login-zh_CN.properties;发现IDEA自动识别了我们要做的国际化操作,文件夹发生改变。在文件夹新建一个文件:login_en_US.properties...

页面国际化

  1. 为什么学习国际化:用于多语言切换

  2. 准备工作

    1. 在IDEA中设置统一Properties的编码:settings搜索fileEncodings

    2. 配置文件编写

      1. 在resources资源文件中新建文件夹一般命名为i18n,用于存放国际化配置文件
      2. 建立login.properties文件。存放默认语言。建立login-zh_CN.properties;发现IDEA自动识别了我们要做的国际化操作,文件夹发生改变。
      3. 在文件夹新建一个文件:login_en_US.properties
      4. 点击Idea下面的resource bundle视图
      5. 为三个文件输入相对应的值
  3. 配置属性

    1. 配置路径:spring.message.basename

    2. 配置编码:spring. message.encoding

  4. 设置页面跳转路径:th:href="@{/index.html(l=‘en_US’)}"

  5. 编写处理组件类

package com.kuang.component;

import org.springframework.util.StringUtils;
import org.springframework.web.servlet.LocaleResolver;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Locale;

//可以在链接上携带区域信息
public class MyLocaleResolver implements LocaleResolver {

    //解析请求
    @Override
    public Locale resolveLocale(HttpServletRequest request) {

        String language = request.getParameter("l");
        Locale locale = Locale.getDefault(); // 如果没有获取到就使用系统默认的
        //如果请求链接不为空
        if (!StringUtils.isEmpty(language)){
            //分割请求参数
            String[] split = language.split("_");
            //国家,地区
            locale = new Locale(split[0],split[1]);
        }
        return locale;
    }

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

    }
}
  1. 扩展MVC类页面配置组件
@Bean
public LocaleResolver localeResolver(){
    return new MyLocaleResolver();
}

本文地址:https://blog.csdn.net/weixin_53120322/article/details/111848895