10.1 设置默认地区

上传人:野鹰 文档编号:1352737 上传时间:2017-06-08 格式:PDF 页数:3 大小:137.02KB
返回 下载 相关 举报
10.1 设置默认地区_第1页
第1页 / 共3页
10.1 设置默认地区_第2页
第2页 / 共3页
10.1 设置默认地区_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《10.1 设置默认地区》由会员分享,可在线阅读,更多相关《10.1 设置默认地区(3页珍藏版)》请在金锄头文库上搜索。

1、10.1 设置默认地区什么是LocaleLocale是组描述世界上某特定区域本格式和语习惯的设置的集合。locale名通常由三个部分组成:第部分,是个强制性的,表语的缩写,例如en表英或zh表中。第部分,跟在个下划线之后,是个可选的国家说明符,于区分讲同种语的不同国家,例如en_US表美国英语,en_UK表英国英语。最后部分,跟在个句点之后,是可选的字符集说明符,例如zh_CN.gb2312表中国使gb2312字符集。GO语默认采UTF-8编码集,所以我们实现i18n时不考虑第三部分,接下来我们都采locale描述的前两部分来作为i18n标准的locale名。在Linux和Solaris系统中

2、可以通过locale -a命令列举所有持的地区名,读者可以看到这些地区名的命名规范。对于BSD等系统,没有locale命令,但是地区信息存储在/usr/share/locale中。设置Locale有了上对locale的定义,那么我们就需要根据户的信息(访问信息、个信息、访问域名等)来设置与之相关的locale,我们可以通过如下种式来设置户的locale。通过域名设置Locale设置Locale的办法这就是在应运的时候采域名分级的式,例如,我们采当做我们的英站(默认站),把域名当做中站。这样通过在应设置域名和相应的locale的对应关系,就可以设置好地区。这样处理有点好处:通过URL就可以很明显

3、的识别户可以通过域名很直观的知道将访问那种语的站点在Go程序中实现常的简单便,通过个map就可以实现有利于搜索引擎抓取,能够提站点的SEO我们可以通过下的代码来实现域名的对应locale:if r.Host = i18n.SetLocale(en) else if r.Host = i18n.SetLocale(zh-CN) else if r.Host = www.asta.tw i18n.SetLocale(zh-TW)当然除了整域名设置地区之外,我们还可以通过域名来设置地区,例如表英站点,表中站点。实现代码如下所:prefix := strings.Split(r.Host,.)if

4、 prefix0 = en i18n.SetLocale(en) else if prefix0 = cn i18n.SetLocale(zh-CN) else if prefix0 = tw i18n.SetLocale(zh-TW)通过域名设置Locale有如上所的优点,但是我们般开发Web应的时候不会采这种式,因为先域名成本较,开发个Locale就需要个域名,且往往统名称的域名不定能申请的到,其次我们不愿意为每个站点去本地化个配置,更多的是采url后带参数的式,请看下的介绍。从域名参数设置Locale前最常的设置Locale的式是在URL带上参数,例如 listbook)从客户端设置地区

5、在些特殊的情况下,我们需要根据客户端的信息不是通过URL来设置Locale,这些信息可能来于客户端设置的喜好语(浏览器中设置),户的IP地址,户在注册的时候填写的所在地信息等。这种式较适合Web为基础的应。Accept-Language客户端请求的时候在HTTP头信息有Accept-Language,般的客户端都会设置该信息,下是Go语实现的个简单的根据Accept-Language实现设置地区的代码:AL := r.Header.Get(Accept-Language)if AL = en i18n.SetLocale(en) else if AL = zh-CN i18n.SetLocal

6、e(zh-CN) else if AL = zh-TW i18n.SetLocale(zh-TW)当然在实际应中,可能需要更加严格的判断来进设置地区IP地址另种根据客户端来设定地区就是户访问的IP,我们根据相应的IP库,对应访问的IP到地区,前全球较常的就是GeoIP Lite Country这个库。这种设置地区的机制常简单,我们只需要根据IP数据库查询户的IP然后返回国家地区,根据返回的结果设置对应的地区。户profile当然你也可以让户根据你提供的下拉菜单或者别的什么式的设置相应的locale,然后我们将户输的信息,保存到与它帐号相关的profile中,当户再次登陆的时候把这个设置复写到locale设置中,这样就可以保证该户每次访问都是基于先前设置的locale来获得页。总结通过上的介绍可知,设置Locale可以有很多种式,我们应该根据需求的不同来选择不同的设置Locale的法,以让户能以它最熟悉的式,获得我们提供的服务,提应的户友好性。W3Cschool()最的技术知识分享与学习平台此篇内容来于站户上传并发布。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号