前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring boot 2.0 i18n 国际化

Spring boot 2.0 i18n 国际化

作者头像
netkiller old
发布2018-10-10 10:47:23
1.8K0
发布2018-10-10 10:47:23
举报
文章被收录于专栏:NetkillerNetkiller

本文节选自《Netkiller Spring cloud 手札》

Netkiller Spring Cloud 手札

Spring Cloud Cookbook

Mr. Neo Chan, 陈景峯(BG7NYT)

中国广东省深圳市望海路半岛城邦三期 518067 +86 13113668890 <netkiller@msn.com>

$Id: book.xml 606 2013-05-29 09:52:58Z netkiller $

版权 © 2015-2018 Neo Chan

版权声明

转载请与作者联系,转载时请务必标明文章原始出处和作者信息及本声明。

http://www.netkiller.cnhttp://netkiller.github.iohttp://netkiller.sourceforge.net

http://www.netkiller.cn

http://netkiller.github.io

http://netkiller.sourceforge.net

微信订阅号 netkiller-ebook (微信扫描二维码)QQ:13721218 请注明“读者”QQ群:128659835 请注明“读者”

微信订阅号 netkiller-ebook (微信扫描二维码)

QQ:13721218 请注明“读者”

QQ群:128659835 请注明“读者”

http://www.netkiller.cn

http://netkiller.github.io

http://netkiller.sourceforge.net

微信订阅号 netkiller-ebook (微信扫描二维码)

QQ:13721218 请注明“读者”

QQ群:128659835 请注明“读者”

我的系列文档

编程语言

Netkiller Architect 手札

Netkiller Developer 手札

Netkiller Java 手札

Netkiller Spring 手札

Netkiller PHP 手札

Netkiller Python 手札

Netkiller Testing 手札

Netkiller Cryptography 手札

Netkiller Perl 手札

Netkiller Docbook 手札

Netkiller Project 手札

Netkiller Database 手札

3.5. i18n 国际化

3.5.1. 在 appliction.properties 中配置启用 i18n
代码语言:javascript
复制
			spring.messages.basename=message
spring.messages.encoding=UTF-8			
3.5.2. 创建语言包文件

message_en_US.properties

代码语言:javascript
复制
			member.name=Name			
3.5.3. 控制器重引用语言包
代码语言:javascript
复制
	@Autowired
	private MessageSource messageSource;

	@GetMapping("/lang")
	public String language() {
		String message = messageSource.getMessage("member.name", null, LocaleContextHolder.getLocale());
		return message;
	}			
3.5.4. 参数传递

有时定义语言包会出现一种情况,一个句子中可能存在变量。例如:

恭喜你 XXXX 您已成为我们的会员

这样的需求,如果丁一两个key处理起来会非常麻烦。这里可以定义一个变量,通过参数传递来修改一句话中间的部分。

代码语言:javascript
复制
			welcome=Welcom to {0}		
代码语言:javascript
复制
	@GetMapping("/lang/args")
	public String welcome() {
		String[] args = { "China" };
		String message = messageSource.getMessage("welcome", args, LocaleContextHolder.getLocale());
		return message;
	}			

参数以此类推 {0}, {1} ...... {n}

作者

陈景峰,昵称 Netkiller, 英文名 Neo 《Netkiller 系列 手札》电子书的作者, 读者QQ群:128659835(注明读者) 微信公众号: netkiller-ebook 个人网站:http://www.netkiller.cn

转载请注明出处与作者声明

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Netkiller 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文节选自《Netkiller Spring cloud 手札》
  • Netkiller Spring Cloud 手札
    • Spring Cloud Cookbook
      • Mr. Neo Chan, 陈景峯(BG7NYT)
      • 3.5. i18n 国际化
    • 作者
    相关产品与服务
    微服务引擎 TSE
    微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档