golang多语言支持
专注后台开发相关技术,广度深度并存,干货情怀同在。
微信搜索【盼盼编程】关注这个不一样的程序员。
❤️强烈推荐人工智能学习网站❤️
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)
}
多语言开发使用
设置语言以及语言包所在位置,然后初始化i18n对象:
beego.Lang = "zh" beego.LangPath = "views/lang" beego.InitLang()
设计多语言包
上面讲了如何初始化多语言包,现在设计多语言包,多语言包是json文件,如第十章介绍的一样,我们需要把设计的文件放在LangPath下面,例如zh.json或者en.json
# zh.json{ "zh": {"submit": "提交","create": "创建"} }#en.json{ "en": {"submit": "Submit","create": "Create"} }
使用语言包
我们可以在controller中调用翻译获取响应的翻译语言,如下所示:
func (this *MainController) Get() {this.Data["create"] = beego.Translation.Translate("create")this.TplNames = "index.tpl" }
我们也可以在模板中直接调用响应的翻译函数:
//直接文本翻译 {{.create | Trans}}//时间翻译 {{.time | TransDate}} //货币翻译 {{.money | TransMoney}}
❤️强烈推荐人工智能学习网站❤️
专注后台开发相关技术,广度深度并存,干货情怀同在。
微信搜索【盼盼编程】关注这个不一样的程序员。
golang多语言支持相关推荐
- 安卓开发语言php,go语言支持安卓开发吗
go语言支持安卓开发.使用golang开发android需要下载安装gomobile,然后有两种开发方式,分别为:1.原生应用开发:2.混合绑定开发. 本教程操作环境:windows10系统.GO 1 ...
- golang go语言_在Go语言中无需反思即可使用Lodash的好处
golang go语言 by Tal Kol 通过塔尔科尔 在Go语言中无需反思即可使用Lodash的好处 (The benefits of using Lodash in the Go langua ...
- 大家一起学Golang——Go语言简介与安装
大家一起学Golang --Go语言简介与安装 go语言简介 Go语言是有google公司推出的一门编程语言,是开源,静态编程语言,语法简洁,天生支持并发. 2007年由Robert Grieseme ...
- golang go语言_为什么Go是作为PHP开发人员学习的功能强大的语言
golang go语言 I've been programming using PHP professionally since 10 years now. After my Computer Eng ...
- Silverlight 2中多语言支持实现(上)
引言 最近项目要在Silverlight 2应用程序中实现本地化,原以为这个过程非常简单,却没想到实现的时候一波三折,好在结果还算不错.需求是这样的,用户第一次访问的时候,默认为英文,当用户选择一种显 ...
- 您对TOP Server的德语、中文和日语语言支持了解吗?(二)
2019独角兽企业重金招聘Python工程师标准>>> 下载TOP Server OPC Server最新版本 TOP Server文档支持 除了特定于驱动程序的属性/设置之外,还包 ...
- WPF使用X:Static做多语言支持
原文:WPF使用X:Static做多语言支持 让程序支持多语言,一般把需要显示的字符串保存在一个资源类的static属性中. <!--[if !supportLists]--> <! ...
- c语言中 允许函数重载么,简述C++语言支持函数重载问题介绍
对于C++语言作为一种欲与C兼容的语言,C++语言保留了一部分过程式语言和特点,foo_int_int这样的名字包含了函数名.函数参数数量及类型信息,C++语言就是靠这种机制来实现函数重载的. 因而它 ...
- WP7多国语言支持 from:http://blog.csdn.net/lee353086/article/details/6260676
WP7多国语言支持 Kagula 2011/3/17 前言 本文阅读对象是有一定Visual Studio 2010使用经验的程序员. 这里通过一些示例介绍如何让你的Windows Phone7 Wi ...
最新文章
- P2574 XOR的艺术(线段树)
- oracle将213变成123,oracle 转换函数
- “4K云字库”基本框架图
- 深度解析:服务器架构和技术变革
- 阿里 双11 同款,流量防卫兵 Sentinel go 源码解读
- 会做饭的机器人曰记_颜真卿《麻姑仙坛记》:苍劲古朴,体态沉雄,气象宏大...
- hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?
- python 输入输出转web_云计算开发学习笔记:Python3 输入和输出方式
- HTTPS 跟 HTTP区别简述
- Java高级面试题解析(二):百度Java面试题前200页(精选)
- IE6 Hotfix MS-042将导致其Crash!
- Android抓包方法(三) 之Win7笔记本Wifi热点+WireShark工具
- 北理乐学大学计算机实验4,北理工乐学上机实验五
- MySQL数据文件的组织
- cookie secure
- alert#40;1#41; to xss.haozi.me with #0x02
- java毕业设计共享充电宝系统mybatis+源码+调试部署+系统+数据库+lw
- 实时获取Android手机CPU占用率
- 短租民宿多平台房态同步管理系统
- Google创新方法「设计冲刺」
热门文章
- 【DBMS 数据库管理系统】OLTP 联机事务处理 与 OLAP 联机分析处理 ( 数据仓库 与 OLAP | OLAP 联机分析处理 | OLTP 与 OLAP 区别 )
- 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )
- 【Java 网络编程】UDP API 简介 ( DatagramSocket | DatagramPacket )
- 章节七、4-Sets
- Discuz!X3.1数据库的操作(三)
- 使用Filter跟踪Asp.net MVC页面加载(转)
- linux系统命令基础知识
- Sum All Primes
- android 区分wifi是5G还是2.4G(转)
- Plant Simulation常用命令