网页国际化配置


准备工具
Windows10
intelliJ IDEA 2018.2.5
SpringBoot 创建web项目

配置国际化文件

在resources目录下创建配置文件目录i18n,在现为登陆页面创建国际化配置,建文件夹login.properties(在没有配置国际化时默认使用该文件中的配置),再建中文配置文件login_zh_CN.properties(中文配置文件)此时如果IDEA检测到配置国际化会自动生成Resource Bundle ‘login’文件夹,


右击该文件夹new->Add Property File

命名为login_en_US.properties,打开login_zh_CN.properties文件,点击下方Resource Bundle视图,

进入属性编写页面,点击“+”进行添加属性,改属性为页面中显示的所有字。属性名最好见名知意

编写好之后其他两个文件也会自动进行配置值:

配置文件中加入国际化配置

SpringBoot自动配置好了啦管理国际化资源文件的组件:在配置文件中加入国际化配置,将国际化配置交由SpringBoot的国际化配置接管在系统配置文件application.properties中加入spring.messages.basename=i18n.login其中i18n为我们开始建的存放国际化配置文件的文件夹名,login为我们配置文件的基础名(去掉语言国家的文件名login_zh_CN等基础名为login)

页面元素引入国际化配置

获取页面中的国际化配置为页面中的每个值属性配上相应的配置;标签中不能直接使用#{}来标注,它只能标注文本标签的值,此处应该用双中括号[[#{}]]来标注值;#{}取国际化值;我是用的是thymeleaf模板引擎

实现国际化语言切换

配置一个LocaleResolver() 区域解析器实现LocalResolver接口

public class MyLocaleResolver implements LocaleResolver {

    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
       String l=httpServletRequest.getParameter("l");
       Locale locale=Locale.getDefault();
       //检查 L 是否为空,在对应页面请求中加入参数 l='zh_CN' 或者l='en_US' 即可切换国际化语言
           if(!StringUtils.isEmpty(l)){
           String[] split=l.split("_");
           locale=new Locale(split[0],split[1]);
       }
        return locale;
    }

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

    }
}

配置完实现类之后,须将该配置类加入到容器中,在MVC配置类中添加,如下:

//使用WebMvcConfigurationSupport来扩展SpringMVC功能
@Configuration
public class MvcConfig extends WebMvcConfigurationSupport {

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        //扩展静态文件路径/**全部为classpath:/templates/
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/templates/");

    }
	//视图解析器
    @Override
    protected void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("login");
                registry.addViewController("/index").setViewName("login");
    }//将自己配置的区域信息解析器加入到MVC容器中
    @Bean
    public LocaleResolver localeResolver(){
        return new MyLocaleResolver();
    }

}

至此配置国际化就完成了,总的来说配置国际化公分为四步:
1.为页面编写国际化文件
2.将国际化配置路径加入配置文件
3.页面元素引入国际化配置
4.实现点击切换国际化语言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值