go-carbon 1.3.2 版本發佈,新增自定義 i18n 系列方法和日文翻譯文件

carbon 是一個輕量級、語義化、對開發者友好的Golang時間處理庫,支持鏈式調用、農曆和gorm、xorm等主流ormgit

若是您以爲不錯,請給個star吧github

github:github.com/golang-module/carbongolang

gitee:gitee.com/go-package/carbonjson

更新日誌
  • 按照功能拆分文件,優化代碼組織結構
  • 新增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
相關文章
相關標籤/搜索