乐趣区

关于datetime:gocarbon-132-版本发布新增自定义-i18n-系列方法和日文翻译文件

carbon 是一个轻量级、语义化、对开发者敌对的 Golang 工夫解决库,反对链式调用、农历和 gorm、xorm 等支流 orm

如果您感觉不错,请给个 star 吧

github:github.com/golang-module/carbon

gitee:gitee.com/go-package/carbon

更新日志
  • 依照性能拆分文件,优化代码组织构造
  • 新增 SetDir()、SetResources()、SetLanguage() 办法用于自定义 i18n
  • 新增 StartOfSecond()、EndOfSecond() 办法
  • 新增日语翻译文件 lang/jp.json
  • 修复 goland 中局部文件 typo 正告
  • 精简优化代码
设置区域
// 形式一 (举荐)
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
退出移动版