修改一些错误和完成第十章序

This commit is contained in:
astaxie
2012-10-22 14:42:17 +08:00
parent bb7c562e28
commit 1089152d60
3 changed files with 29 additions and 1 deletions

16
10.1.md
View File

@@ -1,4 +1,20 @@
##10.1 设置默认地区
##什么是地区
地区是一组描述世界上某一特定区域文本格式和语言习惯的设置集合。地区名通常由三个部分组成:第一部分,是一个强制性的,表示语言的缩写,例如"en"表示英文或"zh"表示中文。第二部分,跟在一个下划线之后,是一个可选的国家说明符,用于区分将同一种语言的不同国家,例如"en_US"表示美国英语,而"en_UK"表示英国英语。最后一部分,跟在一个句点之后,是一个可选的字符集说明符,例如"zh_CN.gb2312"表示中国实用gb2312字符集。
GO语言默认是"UTF-8"字符集所以我们这一章实现的i18n不考虑地区的第三部分接下来我们都采用地区描述的前面两部分来作为i18n标准的地区名。
>在Linux和Solaris系统中可以通过`locale -a`命令列举所有支持的地区名读者可以看到这些地区名的命名规范。对于BSD等系统没有locale命令但是地区信息存储在/usr/share/locale中。
##设置地区
###通过域名设置地区
###从域名参数设置地区
###从客户端设置地区
- Accept-Language
- IP地址
- 用户profile
## links
* [目录](<preface.md>)
* 上一节: [国际化和本地化](<10.md>)

12
10.md
View File

@@ -3,7 +3,17 @@
国际化与本地化Internationalization and localization,通常用i18n和L10N表示国际化是指针对一个为某一个地区设计的程序进行重构使得它能够在更多地区使用本地化是指在一个面向国际化的程序中增加一个新地区的支持。
Go语言目前标准包里面没有i18n的支持有第三方应用支持,我们将在第一小节里面介绍如何设置正确的地区以便让访问你的站点的用户能够得到相应的正确的语言。第二小节里面介绍本地化如何处理第三小节将介绍如何实现国际化站点我们将会给出一些i18n的设计理念顺便实现一个i18n的包
Go语言目前标准包里面没有i18n的支持但有一些第三方支持,但是都是比较简单的实现我们通过这一章的介绍将实现一个go-i18n库用来支持Go语言的i18n。
所谓的国际化就是根据特定的locale信息提取相应的字符串和其它一些东西比如时间和货币的格式等等。那么这个里面需要解决三个问题
1、如何确定locale。
2、如何保存这些locale相关的字符串和其它信息。
3、如何根据locale提取字符串和其它相应的信息。
我们将在第一小节里面介绍如何设置正确的locale以便让访问你的站点的用户能够得到相应的正确的语言。第二小节里面介绍本地化如何处理字符串、货币、时间日期等信息如何存储locale对应的信息第三小节将介绍如何实现国际化站点如何根据不同locale返回不同的字符串。通过这三个小节的介绍将实现一个完整的i18n方案。
## 目录
* 1 [设置默认地区](10.1.md)

2
8.3.md
View File

@@ -83,6 +83,8 @@ Go没有为REST提供直接支持但是因为RESTful是基于HTTP协议实现
}
func adduser(w http.ResponseWriter, r *http.Request) {
params := r.URL.Query()
uid := params.Get(":uid")
fmt.Fprint(w, "you are add user %s", uid)
}