修改了相应的代码格式和内容
This commit is contained in:
27
10.3.md
27
10.3.md
@@ -1,29 +1,42 @@
|
|||||||
# 10.3 国际化站点
|
# 10.3 国际化站点
|
||||||
前面小节介绍了如何处理本地化资源,即Locale一个相应的配置文件,那么如果处理多个的本地化资源呢?而对于一些我们经常用到的例如:简单的文本翻译、时间日期、数字等如果处理呢?本小节将一一解决这些问题。
|
前面小节介绍了如何处理本地化资源,即Locale一个相应的配置文件,那么如果处理多个的本地化资源呢?而对于一些我们经常用到的例如:简单的文本翻译、时间日期、数字等如果处理呢?本小节将一一解决这些问题。
|
||||||
|
|
||||||
## 管理多个本地包
|
## 管理多个本地包
|
||||||
在我们开发一个应用的时候,首先我们应该知道这个Web应用要支持多少个语言,例如首先这个Web应用需要支持中文和英文,也许以后会支持其他语言,但是结构已经有了,所以扩展非常容易。那么我们设计如下:Locale文件夹在config/locales下,假设你要支持中文和英语,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示:
|
在我们开发一个应用的时候,首先我们应该知道这个Web应用要支持多少个语言,例如首先这个Web应用需要支持中文和英文,也许以后会支持其他语言,但是结构已经有了,所以扩展非常容易。那么我们设计如下:Locale文件夹在config/locales下,假设你要支持中文和英语,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示:
|
||||||
|
|
||||||
# zh.json
|
# zh.json
|
||||||
|
|
||||||
zh:
|
{
|
||||||
submit: '提交'
|
"zh": {
|
||||||
create: '创建'
|
"submit": "提交",
|
||||||
|
"create": "创建"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#en.json
|
#en.json
|
||||||
|
|
||||||
en:
|
{
|
||||||
submit: 'Submit'
|
"en": {
|
||||||
create: 'Create'
|
"submit": "Submit",
|
||||||
|
"create": "Create"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
然后调用go-i18n包里面注册一下这个目录,这样Go会加载config/locales目录下的locale文件:
|
然后调用go-i18n包里面注册一下这个目录,这样Go会加载config/locales目录下的locale文件:
|
||||||
|
|
||||||
Tr:=i18n.NewLocale()
|
Tr:=i18n.NewLocale()
|
||||||
Tr.LoadPath("config/locales")
|
Tr.LoadPath("config/locales")
|
||||||
|
|
||||||
|
使用很简单,你可以通过下面的方式进行测试:
|
||||||
|
|
||||||
|
fmt.Println(Tr.Translate("submit"))
|
||||||
|
//输出Submit
|
||||||
|
Tr.SetLocale("zn")
|
||||||
|
fmt.Println(Tr.Translate("submit"))
|
||||||
|
//输出“递交”
|
||||||
|
|
||||||
## 自动加载本地包
|
## 自动加载本地包
|
||||||
|
|
||||||
|
|
||||||
## template mapfunc
|
## template mapfunc
|
||||||
|
|
||||||
1. 文本信息
|
1. 文本信息
|
||||||
|
|||||||
Reference in New Issue
Block a user