removed all the footers; formated all the files

This commit is contained in:
Oling Cat
2012-11-01 16:10:44 +08:00
parent 77b8677ae0
commit c059171e15
73 changed files with 4576 additions and 4782 deletions

75
10.2.md
View File

@@ -44,7 +44,7 @@
fmt.Printf(msg(lang, "how old"), 30)
上面的示例代码仅用以演示内部的实现方案而实际数据是存储在JSON里面的所以我们可以通过`json.Unmarshal`来为相应的map填充数据。
## 本地化日期和时间
因为时区的关系同一时刻在不同的地区表示是不一样的而且因为Locale的关系时间格式也不尽相同例如中文环境下可能显示`2012年10月24日 星期三 23时11分13秒 CST`,而在英文环境下可能显示:`Wed Oct 24 23:11:13 CST 2012`。这里面我们需要解决两点:
@@ -55,7 +55,7 @@ $GOROOT/lib/time包中的timeinfo.zip含有locale对应的时区的定义
en["time_zone"]="America/Chicago"
cn["time_zone"]="Asia/Shanghai"
loc,_:=time.LoadLocation(msg(lang,"time_zone"))
t:=time.Now()
t = t.In(loc)
@@ -65,9 +65,9 @@ $GOROOT/lib/time包中的timeinfo.zip含有locale对应的时区的定义
en["date_format"]="%Y-%m-%d %H:%M:%S"
cn["date_format"]="%Y年%m月%d日 %H时%M分%S秒"
fmt.Println(date(msg(lang,"date_format"),t))
func date(fomate string,t time.Time) string{
year, month, day = t.Date()
hour, min, sec = t.Clock()
@@ -84,54 +84,51 @@ $GOROOT/lib/time包中的timeinfo.zip含有locale对应的时区的定义
cn["money"] ="¥%d元"
fmt.Println(date(msg(lang,"date_format"),100))
func money_format(fomate string,money int64) string{
return fmt.Sprintf(fomate,money)
}
## 本地化视图和资源
我们可能会根据Locale的不同来展示视图这些视图包含不同的图片、css、js等各种静态资源。那么应如何来处理这些信息呢首先我们应按locale来组织文件信息请看下面的文件目录安排
views
|--en //英文模板
|--images //存储图片信息
|--js //存储JS文件
|--css //存储css文件
index.tpl //用户首页
login.tpl //登陆首页
|--zh-CN //中文模板
|--images
|--js
|--css
index.tpl
login.tpl
|--en //英文模板
|--images //存储图片信息
|--js //存储JS文件
|--css //存储css文件
index.tpl //用户首页
login.tpl //登陆首页
|--zh-CN //中文模板
|--images
|--js
|--css
index.tpl
login.tpl
有了这个目录结构后我们就可以在渲染的地方这样来实现代码:
s1, _ := template.ParseFiles("views"+lang+"index.tpl")
VV.Lang=lang
s1.Execute(os.Stdout, VV)
s1.Execute(os.Stdout, VV)
而对于里面的index.tpl里面的资源设置如下
//js文件
<script type="text/javascript" src="views/{{.VV.Lang}}/js/jquery/jquery-1.8.0.min.js"></script>
//css文件
<link href="views/{{.VV.Lang}}/css/bootstrap-responsive.min.css" rel="stylesheet">
//图片文件
<img src="views/{{.VV.Lang}}/images/btn.png">
采用这种方式来本地化视图以及资源时,我们就可以很容易的进行扩展了。
// js文件
<script type="text/javascript" src="views/{{.VV.Lang}}/js/jquery/jquery-1.8.0.min.js"></script>
// css文件
<link href="views/{{.VV.Lang}}/css/bootstrap-responsive.min.css" rel="stylesheet">
// 图片文件
<img src="views/{{.VV.Lang}}/images/btn.png">
采用这种方式来本地化视图以及资源时,我们就可以很容易的进行扩展了。
## 总结
本小节介绍了如何使用及存储本地资源有时需要通过转换函数来实现有时通过lang来设置但是最终都是通过key-value的方式来存储Locale对应的数据在需要时取出相应于Locale的信息后如果是文本信息就直接输出如果是时间日期或者货币则需要先通过`fmt.Printf`或其他格式化函数来处理而对于不同Locale的视图和资源则是最简单的只要在路径里面增加lang就可以实现了。
## links
* [目录](<preface.md>)
* 上一节: [设置默认地区](<10.1.md>)
* 下一节: [国际化站点](<10.3.md>)
## LastModified
* $Id$
## links
* [目录](<preface.md>)
* 上一节: [设置默认地区](<10.1.md>)
* 下一节: [国际化站点](<10.3.md>)