internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。

一般用语言_地区的形式表示一种语言,如 zh_CN, zh_TW.

常见的有:

zh_cn: 简体中文

zh_hk: 繁体中文(中国香港)

zh_tw: 繁体中文(中国台湾地区)

en-hk: 英语(香港)

en_us: 英语(美国)

en_gb: 英语(英国)

en_ww: 英语(全球)

ja_jp: 日语(日本)

ko_kr: 韩文(韩国)

如何实现i18国际化

第一步
先解决乱码问题

创建三个文件

第一个为默认文件,可以为空,但是必须要有
文件二加入:

文件三加入:

在配置文件中加入

获取i18n资源文件
MessageUtils

public class MessageUtils extends ResourceBundleMessageSource {private static MessageSource messageSource;public static void setMessageSource(MessageSource source){messageSource=source;}public MessageUtils() {super();//this.messageSource = messageSource;}/*** 获取单个国际化翻译值*/public static String get(String pvsKey) {try {return messageSource.getMessage(pvsKey, null, LocaleContextHolder.getLocale());} catch (Exception e) {return pvsKey;}}/*** 获取单个国际化翻译值*/public static String get(String pvsKey,Object ... pvParams) {try {return messageSource.getMessage(pvsKey, pvParams, LocaleContextHolder.getLocale());} catch (Exception e) {return pvsKey;}}
}

i18n配置文件
I18nConfig

@Configuration
public class I18nConfig {/*** 默认解析器 其中locale表示默认语言*/@Beanpublic LocaleResolver localeResolver() {SessionLocaleResolver localeResolver = new SessionLocaleResolver();localeResolver.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);return localeResolver;}/*** 默认拦截器 其中lang表示切换语言的参数名*/@Beanpublic WebMvcConfigurer localeInterceptor() {return new WebMvcConfigurer() {@Overridepublic void addInterceptors(InterceptorRegistry registry) {LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();localeInterceptor.setParamName("lang");registry.addInterceptor(localeInterceptor);}};}}

ApplicationEvent

@Component
public class ApplicationEvent implements ApplicationListener<ContextRefreshedEvent> {@Resourceprotected MessageSource messageSource;@Overridepublic void onApplicationEvent(ContextRefreshedEvent event) {MessageUtils.setMessageSource(messageSource);}
}

前端

使用thymeleaf模板引擎的话可以使用th:test="#{user.login.sumbit}"

接下来就可以通过两个超链接进行切换

java实现i18n国际化相关推荐

  1. 【Java】I18N国际化

    i18n(其来源是英文单词internationalization的首末字符i和n,18为中间的字符数)是"国际化"的简称.对程序来说,在不修改内部代码的情况下,能根据不同语言及地 ...

  2. Java i18n - Java中的国际化

    Java i18n - Java中的国际化 Java或Java i18n的国际化是一个非常重要的特性.Java通过资源包提供国际化(i18n)支持. Java的国际化 为了使您的应用程序支持不同的语言 ...

  3. Spring进行 i18n国际化配置

    (本项目是基于Dubbo的,所以会有后端服务和前端Controller两次国际化的配置) 对后端服务的异常代码进行国际化版本的配置 1.在provider的resources中新建一个properti ...

  4. Java程序的国际化和本地化介绍

    IBM : developerWorks 中国网站 : Java : 所有的文章 Java程序的国际化和本地化介绍 邵荣 (youcenter@yahoo.com) 软件工程师, CA有限公司研发中心 ...

  5. springboot配置i18n国际化

    springboot实现i18n国际化,无需引入其他jar包,springboot已经内置了,只需要配置即可. 国际化主要是根据不同的国际语言来决定返回数据的语言. 添加properties文件,作为 ...

  6. Springboot + i18n国际化

    在网上找了很多后端国际化的资料,总是不适合自己.因为脑袋本能的就会取拒绝吸收知识,其实认真看理解思路i18n国际化其实很简单. 那么先简单上手一下 1.首先在resources创建i18n的文件夹,文 ...

  7. 文件的上传、文件的下载、I18N国际化

    一:文件上传 01.文件上传准备 1):上传控件所在的<form>表单的method,必须POST:因为GET方式的数据大小不能超过2kb,而POST没有大小限制.2):上传控件得使用ty ...

  8. JavaWeb(9) I18N国际化

    I18N 国际化(internationalization):软件支持多语言,软件会根据当前的语言使用环境,自动切换 I18N 由来:i和n 中间有18个字符 实现步骤: ①准备资源文件,使用配置文件 ...

  9. SpringBoot系列之i18n国际化多语言支持教程

    SpringBoot系列之i18n国际化多语言支持教程 文章目录 1.环境搭建 2.resource bundle资源配置 3.LocaleResolver类 4.I18n配置类 5.Thymelea ...

最新文章

  1. 华为开发者学院 | 卷积神经网络与图像处理,听这一节课就够了
  2. 超效率dea模型_【探索】基于超效率DEA模型的我国公立医院排行榜研究
  3. bmp文件格式详细解析
  4. php上传文件到七牛云
  5. 《leetcode》search-insert-position
  6. 如何制作一个横版格斗过关游戏 2 Cocos2d x 2 0 4
  7. SpringBoot整合Mybatis,并实现事务控制
  8. SpringMVC实现AJax以及RestFull风格
  9. 国庆在家太无聊, 用Java爬了上千张小姐姐照片...
  10. Android Listener侦听的N种写法
  11. python爬虫验证码的处理(云打码)_python爬虫验证码的处理(云打码)
  12. 计算机上安装的网络协议,win10系统正确安装网络协议的方法
  13. Coq Art第二章 类型和表达式
  14. 安卓6.0+通电自动开机
  15. tomcat日志格式转化为json
  16. python爬斗鱼直播房间名和主播名_斗鱼爬虫,爬取颜值频道的主播图片和名字
  17. 自定义根证书颁发机构 CA 生成自签名证书
  18. Web测试所涉及的主要测试点
  19. Dubbo系列之微服务框架整合教程
  20. 2012年9月TIOBE编程社区指数

热门文章

  1. 【产业互联网周报】奇安信科创板IPO过会;声网Agora登陆纳斯达克;国产光刻机双工件台供应商华卓精科科创板IPO获受理...
  2. 满庭芳国色 高清剪图 桃红 上
  3. 计算机录入大赛,计算机文字录入PPT幻灯片制作大赛策划书
  4. 新买苹果电脑,mac系统中小白应该了解哪些东西?
  5. Gitbook详解(七)-Markdown编辑器推荐
  6. ImageIO的图片压缩算法
  7. 网易云音乐歌单详情列表爬虫破解
  8. 芯片在计算机中作用是什么,芯片的主要作用
  9. (远程控制)App inventor 编写安卓app控制 ESP8266
  10. JVM系列(十三)——垃圾回收器