go-carbon 1.3.2 版本发布,新增自定义 i18n 方法和日文翻译文件

栏目: 软件资讯 · 发布时间: 3年前

内容简介:carbon 是一个轻量级、语义化、对开发者友好的Golang时间处理库,支持链式调用、农历和gorm、xorm等主流orm 如果您觉得不错,请给个 star 吧 github:github.com/golang-module/carbon gitee:gitee.com/go-packag...

carbon 是一个轻量级、语义化、对开发者友好的Golang时间处理库,支持链式调用、农历和gorm、xorm等主流orm

如果您觉得不错,请给个 star 吧
github:github.com/golang-module/carbon
gitee:gitee.com/go-package/carbon

更新日志

  1. 按照功能拆分文件,优化代码组织结构
  2. 新增 SetDir ()、SetResources ()、SetLanguage () 方法用于自定义 i18n
  3. 新增 StartOfSecond ()、EndOfSecond () 方法
  4. 新增日语翻译文件 lang/jp.json
  5. 修复 goland 中部分文件 typo 警告
  6. 精简优化代码

设置区域

// 方式一(推荐)
c := carbon.Now().AddHours(1).SetLocale("jp") 
if c.Error != nil {
    // 错误处理
    fmt.Println(c.Error)
}
c.DiffForHumans() // 1 時間后

// 方式二
lang := NewLanguage()
if err := lang.SetLocale("jp");err != nil {
	// 错误处理
    fmt.Println(err)
}
carbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // 1 時間后

设置目录

lang := NewLanguage()
if err := lang.SetDir("lang");err != nil {
	// 错误处理
    fmt.Println(err)
}
carbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // 1 小时后

部分自定义翻译(其余仍然按照指定的locale翻译)

lang := NewLanguage()

if err := lang.SetLocale("en");err != nil {
	// 错误处理
    fmt.Println(err)
}

resources := map[string]string{
    "hour":"%dh",
}
lang.SetResources(resources)

carbon.Now().AddYears(1).SetLanguage(lang).DiffForHumans() // 1 year from now
carbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // 1h from now

完全自定义翻译

lang := NewLanguage()
resources := map[string]string{
"year":"1 yr|%d yrs",
"month":"1 mo|%d mos",
"week":"%dw",
"day":"%dd",
"hour":"%dh",
"minute":"%dm",
"second":"%ds",
"now": "just now",
"ago":"%s ago",
"from_now":"in %s",
"before":"%s before",
"after":"%s after",
}
lang.SetResources(resources)

carbon.Now().AddYears(1).SetLanguage(lang).DiffForHumans() // in 1 yr
carbon.Now().AddHours(1).SetLanguage(lang).DiffForHumans() // in 1h

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能JavaScript

高性能JavaScript

【美】Nicholas C. Zakas(尼古拉斯.泽卡斯) / 丁琛 / 电子工业出版社 / 2015-8-1 / 65

如果你使用 JavaScript 构建交互丰富的 Web 应用,那么 JavaScript 代码可能是造成你的Web应用速度变慢的主要原因。《高性能JavaScript》揭示的技术和策略能帮助你在开发过程中消除性能瓶颈。你将会了解如何提升各方面的性能,包括代码的加载、运行、DOM 交互、页面生存周期等。雅虎的前端工程师 Nicholas C. Zakas 和其他五位 JavaScript 专家介绍......一起来看看 《高性能JavaScript》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具