我想不一定特定于GAE,但我對人們使用什么來翻譯或本地化他們的Web應(yīng)用程序感到好奇??峙挛易约旱姆椒ㄊ翘煺鏌o望的,實(shí)際上只是通過根據(jù)用戶個(gè)人資料中記錄的語言環(huán)境值從數(shù)據(jù)存儲區(qū)為每個(gè)程序包加載一個(gè)實(shí)體來解決這個(gè)問題。至少這允許提供一些字符串的翻譯:package foo...type Messages struct { Locale string ErrorDatastore string LoginSuccessful string ...}使用與區(qū)域設(shè)置相對應(yīng)的字符串ID進(jìn)行存儲,然后加載到Gorilla上下文或類似環(huán)境中:const Messages ContextKey = iota...k := datastore.NewKey(c, "Messages", "en_US", 0, nil)m := new(Messages)if err := datastore.Get(c, k, m); err != nil { ...} else { context.Set(r, Messages, m)}這顯然受到了難以置信的限制,但是至少可以通過context.Get(r,foo.Messages)從調(diào)用代碼中使用字符串。誰能指出我更有用的實(shí)現(xiàn)方式,或提出更好的方法?
添加回答
舉報(bào)
0/150
提交
取消