fixed markdown format
This commit is contained in:
10
10.2.md
10
10.2.md
@@ -1,6 +1,6 @@
|
||||
# 10.2 本地化资源
|
||||
前面小节我们介绍了如何设置Locale,设置好Locale之后我们需要解决的问题就是如何存储相应的Locale对应的信息呢?这里面的信息包括:文本信息、时间和日期、货币值、图片、包含文件以及视图等资源。那么接下来我们讲对这些信息一一进行介绍,Go语言中我们把这些格式信息存储在JSON中,然后通过合适的方式展现出来。(接下来以中文和英文两种语言对比举例,存储格式文件en.json和zh-CN.json)
|
||||
##本地化文本消息
|
||||
## 本地化文本消息
|
||||
文本信息是我们编写Web应用中最长用到的,也是本地化资源中最多的信息,你想要以适合本地的语言显示文本信息,那么就需要建立相应的map来维护一个key-value的关系,在打印消息之前从map中去获取相应的字符串,例如下面这个例如,一个包含英文和中文的食品名称的简单的map,以及一个从该map中抽取单词的函数。
|
||||
|
||||
package main
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
上面的示例代码主要是为了演示我们内部实现的思路,其实最后数据是存储在JSON里面的,map我们可以通过`json.Unmarshal`获取对应的数据。
|
||||
|
||||
##本地化日期和时间
|
||||
## 本地化日期和时间
|
||||
时间和日期对于不同的地区会显示不同的时间点,而且相应的显示时间格式也是不同的,例如中文环境下可能显示:`2012年10月24日 星期三 23时11分13秒 CST`,而在英文环境下可能显示:`Wed Oct 24 23:11:13 CST 2012`。这里面我们需要解决两点:
|
||||
|
||||
1. 时区问题
|
||||
@@ -77,7 +77,7 @@
|
||||
//%d 替换成24
|
||||
}
|
||||
|
||||
##本地化货币值
|
||||
## 本地化货币值
|
||||
各个地区的货币表示也不一样,我们想要根据不同的Locale显示不同的货币金额需要实现如上时间格式的处理函数,详细的实现请看下面代码:
|
||||
|
||||
en["money"] ="USD %d"
|
||||
@@ -90,7 +90,7 @@
|
||||
}
|
||||
|
||||
|
||||
##本地化视图和资源
|
||||
## 本地化视图和资源
|
||||
我们在展现不同Locale的时候可能会根据不同的Locale采用不同的视图,这些视图里面包含不同的图片、css、js等各种静态资源。那么我们如何来处理这些信息呢?首先我们需要组织对应的locale文件信息,请看下面的文件目录安排:
|
||||
|
||||
views
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
这样我们在本地化视图以及资源的时候采用这种方式就可以很容易的进行扩展了。
|
||||
|
||||
##总结
|
||||
## 总结
|
||||
本小节介绍了如何使用存储本地资源,本地资源有些需要通过转换函数,有些通过lang设置,但是最后都是通过key-value的方式存储了相应的Locale对应数据,然后通过转换函数通过key读取出来相应的Locale信息,如果是文本信息就直接输出了,如果是时间日期或者货币需要结合`fmt.Printf`函数的处理才能转换成正确的信息展示,而对于不同Locale的视图和资源是最简单的,只要在路径里面增加lang就可以实现了。
|
||||
|
||||
## links
|
||||
|
||||
Reference in New Issue
Block a user