国际化
目前支持的语言有(按照翻译先后顺序排列)
- 简体中文(zh-CN): 由 gouguoyin 翻译
- 繁体中文(zh-TW): 由 gouguoyin 翻译
- 英语(en): 由 gouguoyin 翻译
- 日语(jp): 由 gouguoyin 翻译
- 韩语(kr): 由 nannul 翻译
- 德语(de): 由 benzammour 翻译
- 西班牙语(es): 由 hgisinger 翻译
- 土耳其语(tr): 由 emresenyuva 翻译
- 葡萄牙语(pt): 由 felipear89 翻译
- 俄罗斯语(ru): 由 zemlyak 翻译
- 乌克兰语(uk): 由 open-git 翻译
- 罗马尼亚语(ro): 由 DrOctavius 翻译
- 印度尼西亚语(id): 由 justpoypoy 翻译
- 意大利语(it): 由 nicoloHevelop 翻译
- 马来西亚巴哈马语(ms-MY): 由 hollowaykeanho 翻译
- 法语(fr): 由 hollowaykeanho 翻译
- 泰语(th): 由 izcream 翻译
- 瑞典语(se): 由 jwanglof 翻译
- 波斯语(fa): 由 erfanMomeniii 翻译
- 波兰语(nl): 由 RemcoE33 翻译
- 越南语(vi): 由 culy247 翻译
- 印地语(hi): 由 chauhan17nitin 翻译
- 波兰语(pl): 由 gouguoyin 翻译
- 保加利亚语(bg): 由 yuksbg 翻译
- 阿拉伯语(ar): 由 zumoshi 翻译
- 匈牙利语(hu): 由 kenlas 翻译
- 丹麦语(dk): 由 Munk91 翻译
- 挪威语(nb): 由 bendikrb 翻译
目前支持的方法有
Constellation()
:获取星座,如白羊座
Season()
:获取季节,如夏季
DiffForHumans()
:获取对人类友好的可读格式时间差,如一小时前
ToMonthString()
:输出完整月份字符串,如一月
ToShortMonthString()
:输出缩写月份字符串,如1月
ToWeekString()
:输出完整星期字符串,如星期一
ToShortWeekString()
:输出缩写星期字符串,如周一
设置区域
go
lang := carbon.NewLanguage()
lang.SetLocale("zh-CN")
carbon.SetTestNow(carbon.Parse("2020-08-05 13:14:15"))
now := carbon.Now().SetLanguage(lang)
now.Copy().AddHours(1).DiffForHumans() // 1 小时后
now.Copy().AddHours(1).ToMonthString() // 八月
now.Copy().AddHours(1).ToShortMonthString() // 8月
now.Copy().AddHours(1).ToWeekString() // 星期二
now.Copy().AddHours(1).ToShortWeekString() // 周二
now.Copy().AddHours(1).Constellation() // 狮子座
now.Copy().AddHours(1).Season() // 夏季
重写部分翻译资源
其余仍然按照指定的
locale
文件内容翻译
go
lang := carbon.NewLanguage()
resources := map[string]string {
"hour": "%dh",
}
lang.SetLocale("en").SetResources(resources)
carbon.SetTestNow(carbon.Parse("2020-08-05 13:14:15"))
now := carbon.Now().SetLanguage(lang)
now.Copy().AddYears(1).DiffForHumans() // 1 year from now
now.Copy().AddHours(1).DiffForHumans() // 1h from now
now.ToMonthString() // August
now.ToShortMonthString() // Aug
now.ToWeekString() // Tuesday
now.ToShortWeekString() // Tue
now.Constellation() // Leo
now.Season() // Summer
重写全部翻译资源
无需指定
locale
go
lang := carbon.NewLanguage()
resources := map[string]string {
"months": "january|february|march|april|may|june|july|august|september|october|november|december",
"short_months": "jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec",
"weeks": "sunday|monday|tuesday|wednesday|thursday|friday|saturday",
"short_weeks": "sun|mon|tue|wed|thu|fri|sat",
"seasons": "spring|summer|autumn|winter",
"constellations": "aries|taurus|gemini|cancer|leo|virgo|libra|scorpio|sagittarius|capricornus|aquarius|pisce",
"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.SetTestNow(carbon.Parse("2020-08-05 13:14:15"))
now := carbon.Now().SetLanguage(lang)
now.Copy().AddYears(1).DiffForHumans() // in 1 yr
now.Copy().AddHours(1).DiffForHumans() // in 1h
now.ToMonthString() // august
now.ToShortMonthString() // aug
now.ToWeekString() // tuesday
now.ToShortWeekString() // tue
now.Constellation() // leo
now.Season() // summer