专注后台开发相关技术,广度深度并存,干货情怀同在。
微信搜索【盼盼编程】关注这个不一样的程序员。

❤️强烈推荐人工智能学习网站❤️

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.I18nMoneyfunc I18nT(args ...interface{}) string {ok := falsevar s stringif 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 := falsevar s stringif 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 := falsevar s stringif len(args) == 1 {s, ok = args[0].(string)}if !ok {s = fmt.Sprint(args...)}return beego.Translation.Money(s)
}

多语言开发使用

  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}} 

❤️强烈推荐人工智能学习网站❤️

专注后台开发相关技术,广度深度并存,干货情怀同在。
微信搜索【盼盼编程】关注这个不一样的程序员。

golang多语言支持相关推荐

  1. 安卓开发语言php,go语言支持安卓开发吗

    go语言支持安卓开发.使用golang开发android需要下载安装gomobile,然后有两种开发方式,分别为:1.原生应用开发:2.混合绑定开发. 本教程操作环境:windows10系统.GO 1 ...

  2. golang go语言_在Go语言中无需反思即可使用Lodash的好处

    golang go语言 by Tal Kol 通过塔尔科尔 在Go语言中无需反思即可使用Lodash的好处 (The benefits of using Lodash in the Go langua ...

  3. 大家一起学Golang——Go语言简介与安装

    大家一起学Golang --Go语言简介与安装 go语言简介 Go语言是有google公司推出的一门编程语言,是开源,静态编程语言,语法简洁,天生支持并发. 2007年由Robert Grieseme ...

  4. golang go语言_为什么Go是作为PHP开发人员学习的功能强大的语言

    golang go语言 I've been programming using PHP professionally since 10 years now. After my Computer Eng ...

  5. Silverlight 2中多语言支持实现(上)

    引言 最近项目要在Silverlight 2应用程序中实现本地化,原以为这个过程非常简单,却没想到实现的时候一波三折,好在结果还算不错.需求是这样的,用户第一次访问的时候,默认为英文,当用户选择一种显 ...

  6. 您对TOP Server的德语、中文和日语语言支持了解吗?(二)

    2019独角兽企业重金招聘Python工程师标准>>> 下载TOP Server OPC Server最新版本 TOP Server文档支持 除了特定于驱动程序的属性/设置之外,还包 ...

  7. WPF使用X:Static做多语言支持

    原文:WPF使用X:Static做多语言支持 让程序支持多语言,一般把需要显示的字符串保存在一个资源类的static属性中. <!--[if !supportLists]--> <! ...

  8. c语言中 允许函数重载么,简述C++语言支持函数重载问题介绍

    对于C++语言作为一种欲与C兼容的语言,C++语言保留了一部分过程式语言和特点,foo_int_int这样的名字包含了函数名.函数参数数量及类型信息,C++语言就是靠这种机制来实现函数重载的. 因而它 ...

  9. WP7多国语言支持 from:http://blog.csdn.net/lee353086/article/details/6260676

    WP7多国语言支持 Kagula 2011/3/17 前言 本文阅读对象是有一定Visual Studio 2010使用经验的程序员. 这里通过一些示例介绍如何让你的Windows Phone7 Wi ...

最新文章

  1. P2574 XOR的艺术(线段树)
  2. oracle将213变成123,oracle 转换函数
  3. “4K云字库”基本框架图
  4. 深度解析:服务器架构和技术变革
  5. 阿里 双11 同款,流量防卫兵 Sentinel go 源码解读
  6. 会做饭的机器人曰记_颜真卿《麻姑仙坛记》:苍劲古朴,体态沉雄,气象宏大...
  7. hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?
  8. python 输入输出转web_云计算开发学习笔记:Python3 输入和输出方式
  9. HTTPS 跟 HTTP区别简述
  10. Java高级面试题解析(二):百度Java面试题前200页(精选)
  11. IE6 Hotfix MS-042将导致其Crash!
  12. Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具
  13. 北理乐学大学计算机实验4,北理工乐学上机实验五
  14. MySQL数据文件的组织
  15. cookie secure
  16. alert#40;1#41; to xss.haozi.me with #0x02
  17. java毕业设计共享充电宝系统mybatis+源码+调试部署+系统+数据库+lw
  18. 实时获取Android手机CPU占用率
  19. 短租民宿多平台房态同步管理系统
  20. Google创新方法「设计冲刺」

热门文章

  1. 【DBMS 数据库管理系统】OLTP 联机事务处理 与 OLAP 联机分析处理 ( 数据仓库 与 OLAP | OLAP 联机分析处理 | OLTP 与 OLAP 区别 )
  2. 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )
  3. 【Java 网络编程】UDP API 简介 ( DatagramSocket | DatagramPacket )
  4. 章节七、4-Sets
  5. Discuz!X3.1数据库的操作(三)
  6. 使用Filter跟踪Asp.net MVC页面加载(转)
  7. linux系统命令基础知识
  8. Sum All Primes
  9. android 区分wifi是5G还是2.4G(转)
  10. Plant Simulation常用命令