Skip to content

国際化

現在サポートされている言語(翻訳順に並べる)

現在サポートされている方法

  • Constellation():星座を取得,例えば おひつじ座
  • Season():シーズンを取得,例えば
  • DiffForHumans():人が読みやすい形の時間差を取得します,例えば 1時間前
  • ToMonthString():月文字列の出力,例えば いちがつ
  • ToShortMonthString():略語月文字列の出力,例えば 1がつ
  • ToWeekString():週文字列の出力,例えば 日曜日
  • ToShortWeekString():略語週文字列の出力,例えば

エリアの設定

go
lang := carbon.NewLanguage()
lang.SetLocale("jp")

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

MITライセンスに基づいて公開されており、許可なく複製することは禁止されています