Files
2014-12-14 23:18:20 +08:00

26 lines
1.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 10 国际化和本地化
为了适应经济的全球一体化作为开发者我们需要开发出支持多国语言、国际化的Web应用即同样的页面在不同的语言环境下需要显示不同的效果也就是说应用程序在运行时能够根据请求所来自的地域与语言的不同而显示不同的用户界面。这样当需要在应用程序中添加对新的语言的支持时无需修改应用程序的代码只需要增加语言包即可实现。
国际化与本地化Internationalization and localization,通常用i18n和L10N表示国际化是将针对某个地区设计的程序进行重构以使它能够在更多地区使用本地化是指在一个面向国际化的程序中增加对新地区的支持。
目前Go语言的标准包没有提供对i18n的支持但有一些比较简单的第三方实现这一章我们将实现一个go-i18n库用来支持Go语言的i18n。
所谓的国际化就是根据特定的locale信息提取与之相应的字符串或其它一些东西比如时间和货币的格式等等。这涉及到三个问题
1、如何确定locale。
2、如何保存与locale相关的字符串或其它信息。
3、如何根据locale提取字符串和其它相应的信息。
在第一小节里我们将介绍如何设置正确的locale以便让访问站点的用户能够获得与其语言相应的页面。第二小节将介绍如何处理或存储字符串、货币、时间日期等与locale相关的信息第三小节将介绍如何实现国际化站点即如何根据不同locale返回不同合适的内容。通过这三个小节的学习我们将获得一个完整的i18n方案。
## 目录
![](images/navi10.png?raw=true)
## links
* [目录](<preface.md>)
* 上一章: [第九章总结](<09.7.md>)
* 下一节: [设置默认地区](<10.1.md>)