i18n概述
国际化也称作i18n,其来源是英文单词 internationalization的首末字符i和n,18为中间的字符数。由于软件发行可能面向多个国家,对于不同国家的用户,软件显示不同语言的过程就是国际化。通常来讲,软件中的国际化是通过配置文件来实现的,假设要支撑两种语言,那么就需要两个版本的配置文件。Java国际化
(1)Java自身是支持国际化的,java.util.Locale用于指定当前用户所属的语言环境等信息,java.util.ResourceBundle用于查找绑定对应的资源文件。Locale包含了language信息和country信息,Locale创建默认locale对象时使用的静态方法:
Spring6国际化
MessageSource接口
spring中国际化是通过MessageSource这个接口来支持的 常见实现类 ResourceBundleMessageSource 这个是基于Java的ResourceBundle基础类实现,允许仅通过资源名加载国际化资源 ReloadableResourceBundleMessageSource 这个功能和第一个类的功能类似,多了定时刷新功能,允许在不重启系统的情况下,更新资源的信息 StaticMessageSource 它允许通过编程的方式提供国际化信息,一会我们可以通过这个来实现db中存储国际化信息的功能。使用Spring6国际化
第一步 创建资源文件 国际化文件命名格式:基本名称 _ 语言 _ 国家.properties ,这样内容,就是动态参数 (1)创建codermast_en_US.properties