From f699e5f5e9070b28edb97ab67681d840c2bfe16e Mon Sep 17 00:00:00 2001 From: xiemengjun Date: Sun, 28 Oct 2012 23:23:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E7=9B=B8=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F=E5=92=8C=E5=86=85?= =?UTF-8?q?=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 10.3.md | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/10.3.md b/10.3.md index 0f9d8a70..663453df 100644 --- a/10.3.md +++ b/10.3.md @@ -1,29 +1,42 @@ # 10.3 国际化站点 前面小节介绍了如何处理本地化资源,即Locale一个相应的配置文件,那么如果处理多个的本地化资源呢?而对于一些我们经常用到的例如:简单的文本翻译、时间日期、数字等如果处理呢?本小节将一一解决这些问题。 - ## 管理多个本地包 在我们开发一个应用的时候,首先我们应该知道这个Web应用要支持多少个语言,例如首先这个Web应用需要支持中文和英文,也许以后会支持其他语言,但是结构已经有了,所以扩展非常容易。那么我们设计如下:Locale文件夹在config/locales下,假设你要支持中文和英语,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示: # zh.json - zh: - submit: '提交' - create: '创建' + { + "zh": { + "submit": "提交", + "create": "创建" + } + } #en.json - en: - submit: 'Submit' - create: 'Create' + { + "en": { + "submit": "Submit", + "create": "Create" + } + } 然后调用go-i18n包里面注册一下这个目录,这样Go会加载config/locales目录下的locale文件: Tr:=i18n.NewLocale() Tr.LoadPath("config/locales") +使用很简单,你可以通过下面的方式进行测试: + + fmt.Println(Tr.Translate("submit")) + //输出Submit + Tr.SetLocale("zn") + fmt.Println(Tr.Translate("submit")) + //输出“递交” ## 自动加载本地包 + ## template mapfunc 1. 文本信息