鍍金池/ 教程/ GO/ 10 國際化和本地化
7 文本處理
3 Web基礎(chǔ)
14 擴展Web框架
10.4 小結(jié)
2.2 Go基礎(chǔ)
2.8 總結(jié)
6.1 session和cookie
5.5 使用beedb庫進行ORM開發(fā)
8.3 REST
13.6 小結(jié)
5.4 使用PostgreSQL數(shù)據(jù)庫
14.6 pprof支持
14.1 靜態(tài)文件支持
11.2 使用GDB調(diào)試
7.7 小結(jié)
1 GO環(huán)境配置
14.5 多語言支持
7.1 XML處理
1.5 總結(jié)
13 如何設(shè)計一個Web框架
14.3 表單及驗證支持
12 部署與維護
10 國際化和本地化
1.1 Go 安裝
6.2 Go如何使用session
5.6 NOSQL數(shù)據(jù)庫操作
6.5 小結(jié)
9.4 避免SQL注入
12.1 應(yīng)用日志
4.2 驗證表單的輸入
10.1 設(shè)置默認地區(qū)
1.3 Go 命令
9.6 加密和解密數(shù)據(jù)
4.1 處理表單的輸入
4.4 防止多次遞交表單
11.3 Go怎么寫測試用例
8 Web服務(wù)
12.3 應(yīng)用部署
5.7 小結(jié)
12.5 小結(jié)
11 錯誤處理,調(diào)試和測試
9.2 確保輸入過濾
14.2 Session支持
6.4 預(yù)防session劫持
12.4 備份和恢復(fù)
8.1 Socket編程
13.1 項目規(guī)劃
13.4 日志和配置設(shè)計
7.6 字符串處理
13.2 自定義路由器設(shè)計
6.3 session存儲
3.4 Go的http包詳解
8.2 WebSocket
10.3 國際化站點
7.5 文件操作
7.4 模板處理
9.1 預(yù)防CSRF攻擊
13.3 controller設(shè)計
2.6 interface
14.4 用戶認證
2.3 流程和函數(shù)
附錄A 參考資料
11.1 錯誤處理
9.5 存儲密碼
9.3 避免XSS攻擊
12.2 網(wǎng)站錯誤處理
6 session和數(shù)據(jù)存儲
2.4 struct類型
3.3 Go如何使得Web工作
2.5 面向?qū)ο?/span>
3.1 Web工作方式
1.2 GOPATH與工作空間
2.1 你好,Go
9.7 小結(jié)
13.5 實現(xiàn)博客的增刪改
7.2 JSON處理
10.2 本地化資源
7.3 正則處理
2 Go語言基礎(chǔ)
5.1 database/sql接口
4.5 處理文件上傳
8.5 小結(jié)
4.3 預(yù)防跨站腳本
5.3 使用SQLite數(shù)據(jù)庫
14.7 小結(jié)
3.2 Go搭建一個Web服務(wù)器
2.7 并發(fā)
5 訪問數(shù)據(jù)庫
4 表單
3.5 小結(jié)
1.4 Go開發(fā)工具
11.4 小結(jié)
9 安全與加密
5.2 使用MySQL數(shù)據(jù)庫
4.6 小結(jié)
8.4 RPC

10 國際化和本地化

為了適應(yīng)經(jīng)濟的全球一體化,作為開發(fā)者,我們需要開發(fā)出支持多國語言、國際化的Web應(yīng)用,即同樣的頁面在不同的語言環(huán)境下需要顯示不同的效果,也就是說應(yīng)用程序在運行時能夠根據(jù)請求所來自的地域與語言的不同而顯示不同的用戶界面。這樣,當(dāng)需要在應(yīng)用程序中添加對新的語言的支持時,無需修改應(yīng)用程序的代碼,只需要增加語言包即可實現(xiàn)。

國際化與本地化(Internationalization and localization,通常用i18n和L10N表示),國際化是將針對某個地區(qū)設(shè)計的程序進行重構(gòu),以使它能夠在更多地區(qū)使用,本地化是指在一個面向國際化的程序中增加對新地區(qū)的支持。

目前,Go語言的標準包沒有提供對i18n的支持,但有一些比較簡單的第三方實現(xiàn),這一章我們將實現(xiàn)一個go-i18n庫,用來支持Go語言的i18n。

所謂的國際化:就是根據(jù)特定的locale信息,提取與之相應(yīng)的字符串或其它一些東西(比如時間和貨幣的格式)等等。這涉及到三個問題:

1、如何確定locale。

2、如何保存與locale相關(guān)的字符串或其它信息。

3、如何根據(jù)locale提取字符串和其它相應(yīng)的信息。

在第一小節(jié)里,我們將介紹如何設(shè)置正確的locale以便讓訪問站點的用戶能夠獲得與其語言相應(yīng)的頁面。第二小節(jié)將介紹如何處理或存儲字符串、貨幣、時間日期等與locale相關(guān)的信息,第三小節(jié)將介紹如何實現(xiàn)國際化站點,即如何根據(jù)不同locale返回不同合適的內(nèi)容。通過這三個小節(jié)的學(xué)習(xí),我們將獲得一個完整的i18n方案。

目錄

http://wiki.jikexueyuan.com/project/go-web-programming/images/navi10.png?raw=true" alt="" />