2.1 KiB
2.1 KiB
##10 国际化和本地化 随着全球经济的一体化,软件开发者应该开发出支持多国语言、国际化的Web应用。对于Web应用来说,同样的页面在不同的语言环境下需要显示不同的效果。也就是说,一个Web应用程序在运行时能够根据客户端请求所来自的国家和语言显示不同的用户界面。这样 ,当需要在应用程序中添加对一种新的语言的支持时,无需修改应用程序的代码。
国际化与本地化(Internationalization and localization,通常用i18n和L10N表示),国际化是指针对一个为某一个地区设计的程序进行重构,使得它能够在更多地区使用,本地化是指在一个面向国际化的程序中增加一个新地区的支持。
Go语言目前标准包里面没有i18n的支持,但有一些第三方库支持,但是都是比较简单的实现,我们通过这一章的介绍将实现一个go-i18n库,用来支持Go语言的i18n。
所谓的国际化:就是根据特定的locale信息,提取相应的字符串和其它一些东西(比如时间和货币的格式)等等。那么这个里面需要解决三个问题:
1、如何确定locale。
2、如何保存这些locale相关的字符串和其它信息。
3、如何根据locale提取字符串和其它相应的信息。
我们将在第一小节里面介绍如何设置正确的locale以便让访问你的站点的用户能够得到相应的正确的语言。第二小节里面介绍本地化如何处理字符串、货币、时间日期等信息,如何存储locale对应的信息,第三小节将介绍如何实现国际化站点,如何根据不同locale返回不同的字符串。通过这三个小节的介绍,将实现一个完整的i18n方案。
目录
links
LastModified
Id