<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                我們在第十章介紹過國際化和本地化,開發了一個go-i18n庫,這小節我們將把該庫集成到beego框架里面來,使得我們的框架支持國際化和本地化。 ## [](https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/14.5.md#i18n集成)i18n集成 beego中設置全局變量如下: ~~~ Translation i18n.IL Lang string //設置語言包,zh、en LangPath string //設置語言包所在位置 ~~~ 初始化多語言函數: ~~~ func InitLang(){ beego.Translation:=i18n.NewLocale() beego.Translation.LoadPath(beego.LangPath) beego.Translation.SetLocale(beego.Lang) } ~~~ 為了方便在模板中直接調用多語言包,我們設計了三個函數來處理響應的多語言: ~~~ beegoTplFuncMap["Trans"] = i18n.I18nT beegoTplFuncMap["TransDate"] = i18n.I18nTimeDate beegoTplFuncMap["TransMoney"] = i18n.I18nMoney func I18nT(args ...interface{}) string { ok := false var s string if len(args) == 1 { s, ok = args[0].(string) } if !ok { s = fmt.Sprint(args...) } return beego.Translation.Translate(s) } func I18nTimeDate(args ...interface{}) string { ok := false var s string if len(args) == 1 { s, ok = args[0].(string) } if !ok { s = fmt.Sprint(args...) } return beego.Translation.Time(s) } func I18nMoney(args ...interface{}) string { ok := false var s string if len(args) == 1 { s, ok = args[0].(string) } if !ok { s = fmt.Sprint(args...) } return beego.Translation.Money(s) } ~~~ ## [](https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/14.5.md#多語言開發使用)多語言開發使用 1. 設置語言以及語言包所在位置,然后初始化i18n對象: ~~~ beego.Lang = "zh" beego.LangPath = "views/lang" beego.InitLang() ~~~ 2. 設計多語言包 上面講了如何初始化多語言包,現在設計多語言包,多語言包是json文件,如第十章介紹的一樣,我們需要把設計的文件放在LangPath下面,例如zh.json或者en.json ~~~ # zh.json { "zh": { "submit": "提交", "create": "創建" } } #en.json { "en": { "submit": "Submit", "create": "Create" } } ~~~ 3. 使用語言包 我們可以在controller中調用翻譯獲取響應的翻譯語言,如下所示: ~~~ func (this *MainController) Get() { this.Data["create"] = beego.Translation.Translate("create") this.TplNames = "index.tpl" } ~~~ 我們也可以在模板中直接調用響應的翻譯函數: ~~~ //直接文本翻譯 {{.create | Trans}} //時間翻譯 {{.time | TransDate}} //貨幣翻譯 {{.money | TransMoney}} ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看