- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我尝试使用 i18n 但它不起作用i18n 在下面。 http://beego.me/docs/module/i18n.md
routers/init.go:
// Initialized language type list.
langs := strings.Split(models.Cfg.MustValue("lang", "types"), "|")
names := strings.Split(models.Cfg.MustValue("lang", "names"), "|")
langTypes = make([]*langType, 0, len(langs))
for i, v := range langs {
langTypes = append(langTypes, &langType{
Lang: v,
Name: names[i],
})
}
for _, lang := range langs {
beego.Trace("Loading language: " + lang)
if err := i18n.SetMessage(lang, "conf/"+"locale_"+lang+".ini"); err != nil {
beego.Error("Fail to set message file: " + err.Error())
return
}
}
路由器/router.go
// Initialized language type list.
langs := strings.Split(models.Cfg.MustValue("lang", "types"), "|")
names := strings.Split(models.Cfg.MustValue("lang", "names"), "|")
langTypes = make([]*langType, 0, len(langs))
for i, v := range langs {
langTypes = append(langTypes, &langType{
Lang: v,
Name: names[i],
})
}
for _, lang := range langs {
beego.Trace("Loading language: " + lang)
if err := i18n.SetMessage(lang, "conf/"+"locale_"+lang+".ini"); err != nil {
beego.Error("Fail to set message file: " + err.Error())
return
}
}
我只是复制和粘贴。
这是我的完整代码。 https://github.com/shinriyo/sample_i18n
我想知道最少的代码。
错误
bee run
2015/05/24 17:48:56 [INFO] Uses 'sample_i18n' as 'appname'
2015/05/24 17:48:56 [INFO] Initializing watcher...
2015/05/24 17:48:56 [TRAC] Directory(/Users/shinriyo/src/sample_i18n/controllers)
2015/05/24 17:48:56 [TRAC] Directory(/Users/shinriyo/src/sample_i18n)
2015/05/24 17:48:56 [TRAC] Directory(/Users/shinriyo/src/sample_i18n/routers)
2015/05/24 17:48:56 [TRAC] Directory(/Users/shinriyo/src/sample_i18n/tests)
2015/05/24 17:48:56 [INFO] Start building...
main.go:4:2:
routers/init.go:2:1: expected 'package', found 'IDENT' langs
2015/05/24 17:48:56 [ERRO] ============== Build failed ===================
最佳答案
我发现的最好的方法是:
在 conf/app.conf 配置你的翻译列表。我的语言是 en-US 和 pt-BR
lang_types = "en-US|pt-BR"
在 controller/baseController/文件夹中创建文件 baseController.go使用此代码
package controllers
import (
"github.com/astaxie/beego"
"github.com/beego/i18n"
"strings"
)
var langTypes []string // Languages that are supported.
// baseController represents base router for all other app routers.
// It implemented some methods for the same implementation;
// thus, it will be embedded into other routers.
type BaseController struct {
beego.Controller // Embed struct that has stub implementation of the interface.
i18n.Locale // For i18n usage when process data and render template.
}
func init() {
beego.AddFuncMap("i18n", i18n.Tr)
// Initialize language type list.
langTypes = strings.Split(beego.AppConfig.String("lang_types"), "|")
// Load locale files according to language types.
for _, lang := range langTypes {
beego.Trace("Loading language: " + lang)
if err := i18n.SetMessage(lang, "conf/"+"locale_"+lang+".ini"); err != nil {
beego.Error("Fail to set message file:", err)
return
}
}
}
// Prepare implemented Prepare() method for baseController.
// It's used for language option check and setting.
func (this *BaseController) Prepare() {
// Reset language option.
this.Lang = "" // This field is from i18n.Locale.
beego.Trace("running prepare")
// 1. Get language information from 'Accept-Language'.
al := this.Ctx.Request.Header.Get("Accept-Language")
if len(al) > 4 {
al = al[:5] // Only compare first 5 letters.
if i18n.IsExist(al) {
this.Lang = al
}
}
beego.Trace("Accept-Language is " + al)
// 2. Default language is English.
if len(this.Lang) == 0 {
this.Lang = "en-US"
}
// Set template level language option.
this.Data["Lang"] = this.Lang
}
在其他 Controller 中使用您的自定义 BaseController。
package controllers
import (
bc "github.com/myFirstApp/controllers/baseController"
)
type LoginController struct {
bc.BaseController
}
func (c *LoginController) Get() {
c.TplNames = "login.tpl"
}
在模板中使用 i18n
{{i18n .Lang "login.capitalized"}}
我的 locale_en-US.ini
login = login
[login]
uppercase = LOGIN
capitalized = Login
关于go - 如何使用beego的localize?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30447088/
如这里建议的那样http://beego.me/docs/mvc/controller/config.md ,我为 MySQL 用户/密码添加参数,并在尝试访问它们时(例如通过使用 beego.App
如何使用beego上传多个文件? GetFile 方法仅返回第一个文件名。 html: 在 Controller 中: file, header, err := this.GetFile
1 介绍 Beego是一个开源的基于Golang的MVC框架,主要用于Golang Web开发。Beego可以用来快速开发API、Web、后端服务等各种应用。 个人开发 api类:gin 团队大项目:
1 介绍 Beego是一个开源的基于Golang的MVC框架,主要用于Golang Web开发。Beego可以用来快速开发API、Web、后端服务等各种应用。 个人开发 api类:gin 团队大项目:
如果我使用模块,而 GOPATH 旧方法完美运行,路由对我来说根本不起作用。 我是golang的新手,如果我做错了什么,请纠正我。 我一直在尝试使用 bee 创建 API 项目,但我发现所有新项目都必
我正在使用Beego编写一个简单的登录/注销功能。 我在init()文件中的router.go如下所示: func init() { beego.Router("/", &controller
我正在尝试使用 Beego 验证来验证某些表单,但它根本不起作用:无效数据通过且没有错误。 这是相关代码,我不知道哪里出了问题。你能指出错误吗? https://github.com/dionysel
我正在用 beego 制作一个网络应用程序。我是 go 和 beego 的新手。我想在 mysql 数据库中保存一个 pdf 文件。在 php 中,我们可以轻松做到这一点,但在 beego 中,我遇到
有没有办法在Beego orm中使用不等于运算符(!= OR <>)?我不想使用 WHERE IN条件,因为这意味着我必须先查询另一个表。有办法做到这一点吗? 谢谢 最佳答案 此答案适用于可能会误解
运行beego migration时,显示所有的迁移都执行了,但是跳过了一些迁移。请找到场景。 我今天创建并执行了迁移。 我正在合并另一个分支,该分支昨天创建了一个迁移。 再次运行bee migrat
我正在尝试编写我的第一个 beego 网络应用程序,我正在尝试注册一些模型,我在 models/model.go 中注册了它们的 init()函数,但是当我运行命令时 bee run ,我收到以下错误
Beego有渲染部分模板的功能吗?我在 RoR 中使用了这个功能。 Ruby on Rails 部分:局部模板——通常简称为“partials”——是另一种将渲染过程分解为更易于管理的 block 的
我对 beego 很陌生。我开始一个小项目来发现并开始学习框架。我使用 bee 命令来创建项目: bee new my_project beego的版本是: bee :1.4.1 beego :1
我正在使用 Beego 框架,我有两个 html View 文件,一个是登录,另一个是登陆登录.html
目前,我在访问数据库的每个函数的开头使用以下命令。 o := orm.NewOrm() o.Using("default") // Using default, you can use other d
我正在测试 beego 的 http 自定义端点 package test import ( "github.com/astaxie/beego" . "github.com/smar
除了从头创建数据库表的“syncdb”命令外,我没有在文档中找到任何东西。是否有任何命令可以基于 ORM 模型创建和运行迁移?就像在 Django 中一样?添加字段、更改类型等。 最佳答案 不,orm
尝试设置 https,如下所述:https://github.com/astaxie/beego/issues/401并在日志中得到这个: 2016/09/28 14:05:34 [I] [asm_a
截至目前,我的路由如下: beego.Router("/detailed", &controllers.MainController{}, "get:Detailed") 相反,我想像这样路由: be
我刚刚在 beego orm 中遇到了一些问题。如何进行随机顺序查询? 类似于: orm.NewOrm().QueryTable("tbl").OrderBy("rand()").Limit(1).A
我是一名优秀的程序员,十分优秀!