【Java】【SPringMVC】国际化实现

首先,介绍一下国际化英文为Internationalization,由于太长了,所以它又称为i18n(英文单词 internationalization的首末字符i和n,18为中间的字符数)。

除了i18n还有l10n(localization),g11n(globalization),还有m17n(multilingualization)

  • i18n支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
  • l10n(localization),支持2种语言,英文和另外一种语言(例如中文);
  • g11n(globalization),简单的理解可以认为g11n = i18n + L10n。
  • m17n(multilingualization)可以在同一时间支持多种语言,例如你可以在一个页面里看到中文、英文、德文和韩文。

国际化的实现只需要三步:

1、设置本地的语言环境:Locale 类

Locale  locale = new Locale("zh", "CN");
Locale locale1 = Locale.US;
Locale locale2 = Locale.getDefault();

这三种方式都可以设置,locale2是自动获取当前的系统语言环境

2、配置国际化资源文件: 划重点

首先资源文件 BaseName[_language][_country][_variant].properties 

先讲解一下资源文件的加载顺序,这个顺序一定要了解!

baseName _ 指定的language _ 指定的country_ 指定的variant

baseName _ 指定的language _ 指定的country

baseName _ 指定的language

baseName _默认的language _默认的country_默认的variant

baseName _默认的language _默认的country

baseName_默认的language

baseName

什么意思?就是首先加载指定的资源文件,再加载当前语言环境默认的资源文件,再加载顶级的资源文件。

3、通过ResourceBundle工具类绑定资源文件

ResourceBundle res = ResourceBundle.getBundle("com.zuobar.locale.error.localeStrings", locale);

最后你就可以使用了!怎么用?

String zuobar = res.getString("zuobar");

号外!资源化文件可以使用通配符{0}, 怎么使用呢?

String info = MessageFormat.format(info, userName);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值