当前位置: 首页 > 编程笔记 >

Spring Boot2.X国际化文件编写配置

颛孙和悌
2023-03-14
本文向大家介绍Spring Boot2.X国际化文件编写配置,包括了Spring Boot2.X国际化文件编写配置的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了Spring Boot2.X国际化文件编写配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

国际化文件的编写

messages.properties
init project
messages_en_US.properties
init project
messages_zh_CN.properties

页面非连接配置国际化只需要:

spring.messages.basename=i18n.login

1: 1.5X版本配置的方式

链接配置

编写类 实现LocaleResover

public class LocaleSetting implements LocaleResolver {
	@Override
	  public Locale resolveLocale(HttpServletRequest request) {
		/**
     * l=('en_US) 取得连接字符串
     */
		String lstr = request.getParameter("l");
		Locale locale = Locale.getDefault();
		if(!StringUtils.isEmpty(lstr)){
			String[] split = lstr.split("_");
			locale = new Locale(split[0],split[1]);
		}
		return locale;
	}
	@Override
	  public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
	}
}

一个Spring Boot 只需要存在一个继承 WebMvcConfigurationSupport,所以都在这个类 配置

在下面这里配置

public class AppConfig extends WebMvcConfigurationSupport
/**
 * 配置国际化
 */
@Bean
public LocaleResolver initLocale(){
	return new LocaleSetting();
}

2: 2.x版本的配置方式

/**
   * 拦截器映射
   */
  @Override
  protected void addInterceptors(InterceptorRegistry registry) {
    registry.addInterceptor(localeChangeInterceptor());
    super.addInterceptors(registry);
  }
  /**
   * 配置国际化
   */
  @Bean
  public LocaleResolver localeResolver() {
    SessionLocaleResolver slr = new SessionLocaleResolver();
    // 默认使用的语言
    slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
    return slr;
  }

  @Bean
  public LocaleChangeInterceptor localeChangeInterceptor() {
    LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
    // 参数名 用于区别使用语言类型
    /**
     * <a class="btn btn-sm" th:href="@{index.html(l='en-US')}" rel="external nofollow" >中文</a>
     * <a class="btn btn-sm" th:href="@{index.html(l='zh-CN')}" rel="external nofollow" >English</a>
     */
    lci.setParamName("l");
    return lci;
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本实例演示了如何在Web程序中根据客户端支持的本地信息显示不同语言的信息。在本例中通过改变IE的默认语言来模拟中文和英语的用户。 例子 : 编写国际化的Web程序 1. 建立中文资源文件 在WEB-INF\classes\resources目录中建立一个I18nResource_zh_CN.properties文件,该文件的内容如下: i18n.welcome=欢迎访问国际化web程序 i18n.

  • 概述 为了让Django项目可翻译,你必须添加一些钩子到你的Python 代码和模板中。这些钩子叫做翻译字符串。它们告诉Django:“如果这个文本的翻译可用,应该将它翻译成终端用户的语言。”你需要标记这些可翻译的字符串;系统只会翻译它知道的字符串。 Django 提供一些工具用于提取翻译字符串到消息文件中。这个文件方便翻译人员提供翻译字符串的目标语言。翻译人员填充完消息文件后,必须编译它。这个过

  • 介绍 Vant 采用中文作为默认语言,同时支持多语言切换,请按照下方教程进行国际化设置。 使用方法 多语言切换 Vant 通过 Locale 组件实现多语言支持,使用 Locale.use 方法可以切换当前使用的语言。 import { Locale } from 'vant'; // 引入英文语言包 import enUS from 'vant/es/locale/lang/en-US'; L

  • 国际化 Element 组件内部默认使用中文,若希望使用其他语言,则需要进行多语言设置。以英文为例,在 main.js 中: // 完整引入 Element import Vue from 'vue' import ElementUI from 'element-ui' import locale from 'element-ui/lib/locale/lang/en' Vue.use(Elem

  • 资料 ​https://tc39.es/ecma402/​

  • 一般用于根据用户语言,需要输出不同的文案。如果没有国际化的封装,业务里面会有大量的判断,并且业务也不好维护,没法统一管理所有文案。 安装 composer require swoft/i18n Git 仓库 Github https://github.com/swoft-cloud/swoft-event 参与贡献 欢迎参与贡献,您可以 fork 我们的开发仓库 swoft/component