Name Last Update
..
af Loading commit data...
af_NA Loading commit data...
af_ZA Loading commit data...
agq Loading commit data...
agq_CM Loading commit data...
ak Loading commit data...
ak_GH Loading commit data...
am Loading commit data...
am_ET Loading commit data...
ar Loading commit data...
ar_001 Loading commit data...
ar_AE Loading commit data...
ar_BH Loading commit data...
ar_DJ Loading commit data...
ar_DZ Loading commit data...
ar_EG Loading commit data...
ar_EH Loading commit data...
ar_ER Loading commit data...
ar_IL Loading commit data...
ar_IQ Loading commit data...
ar_JO Loading commit data...
ar_KM Loading commit data...
ar_KW Loading commit data...
ar_LB Loading commit data...
ar_LY Loading commit data...
ar_MA Loading commit data...
ar_MR Loading commit data...
ar_OM Loading commit data...
ar_PS Loading commit data...
ar_QA Loading commit data...
ar_SA Loading commit data...
ar_SD Loading commit data...
ar_SO Loading commit data...
ar_SS Loading commit data...
ar_SY Loading commit data...
ar_TD Loading commit data...
ar_TN Loading commit data...
ar_YE Loading commit data...
as Loading commit data...
as_IN Loading commit data...
asa Loading commit data...
asa_TZ Loading commit data...
ast Loading commit data...
ast_ES Loading commit data...
az Loading commit data...
az_Cyrl Loading commit data...
az_Cyrl_AZ Loading commit data...
az_Latn Loading commit data...
az_Latn_AZ Loading commit data...
bas Loading commit data...
bas_CM Loading commit data...
be Loading commit data...
be_BY Loading commit data...
bem Loading commit data...
bem_ZM Loading commit data...
bez Loading commit data...
bez_TZ Loading commit data...
bg Loading commit data...
bg_BG Loading commit data...
bm Loading commit data...
bm_ML Loading commit data...
bn Loading commit data...
bn_BD Loading commit data...
bn_IN Loading commit data...
bo Loading commit data...
bo_CN Loading commit data...
bo_IN Loading commit data...
br Loading commit data...
br_FR Loading commit data...
brx Loading commit data...
brx_IN Loading commit data...
bs Loading commit data...
bs_Cyrl Loading commit data...
bs_Cyrl_BA Loading commit data...
bs_Latn Loading commit data...
bs_Latn_BA Loading commit data...
ca Loading commit data...
ca_AD Loading commit data...
ca_ES Loading commit data...
ca_ES_VALENCIA Loading commit data...
ca_FR Loading commit data...
ca_IT Loading commit data...
ce Loading commit data...
ce_RU Loading commit data...
cgg Loading commit data...
cgg_UG Loading commit data...
chr Loading commit data...
chr_US Loading commit data...
ckb Loading commit data...
ckb_IQ Loading commit data...
ckb_IR Loading commit data...
cmd Loading commit data...
cs Loading commit data...
cs_CZ Loading commit data...
cu Loading commit data...
cu_RU Loading commit data...
currency Loading commit data...
cy Loading commit data...
cy_GB Loading commit data...
da Loading commit data...
da_DK Loading commit data...
da_GL Loading commit data...
dav Loading commit data...
dav_KE Loading commit data...
de Loading commit data...
de_AT Loading commit data...
de_BE Loading commit data...
de_CH Loading commit data...
de_DE Loading commit data...
de_IT Loading commit data...
de_LI Loading commit data...
de_LU Loading commit data...
dje Loading commit data...
dje_NE Loading commit data...
dsb Loading commit data...
dsb_DE Loading commit data...
dua Loading commit data...
dua_CM Loading commit data...
dyo Loading commit data...
dyo_SN Loading commit data...
dz Loading commit data...
dz_BT Loading commit data...
ebu Loading commit data...
ebu_KE Loading commit data...
ee Loading commit data...
ee_GH Loading commit data...
ee_TG Loading commit data...
el Loading commit data...
el_CY Loading commit data...
el_GR Loading commit data...
en Loading commit data...
en_001 Loading commit data...
en_150 Loading commit data...
en_AG Loading commit data...
en_AI Loading commit data...
en_AS Loading commit data...
en_AT Loading commit data...
en_AU Loading commit data...
en_BB Loading commit data...
en_BE Loading commit data...
en_BI Loading commit data...
en_BM Loading commit data...
en_BS Loading commit data...
en_BW Loading commit data...
en_BZ Loading commit data...
en_CA Loading commit data...
en_CC Loading commit data...
en_CH Loading commit data...
en_CK Loading commit data...
en_CM Loading commit data...
en_CX Loading commit data...
en_CY Loading commit data...
en_DE Loading commit data...
en_DG Loading commit data...
en_DK Loading commit data...
en_DM Loading commit data...
en_ER Loading commit data...
en_FI Loading commit data...
en_FJ Loading commit data...
en_FK Loading commit data...
en_FM Loading commit data...
en_GB Loading commit data...
en_GD Loading commit data...
en_GG Loading commit data...
en_GH Loading commit data...
en_GI Loading commit data...
en_GM Loading commit data...
en_GU Loading commit data...
en_GY Loading commit data...
en_HK Loading commit data...
en_IE Loading commit data...
en_IL Loading commit data...
en_IM Loading commit data...
en_IN Loading commit data...
en_IO Loading commit data...
en_JE Loading commit data...
en_JM Loading commit data...
en_KE Loading commit data...
en_KI Loading commit data...
en_KN Loading commit data...
en_KY Loading commit data...
en_LC Loading commit data...
en_LR Loading commit data...
en_LS Loading commit data...
en_MG Loading commit data...
en_MH Loading commit data...
en_MO Loading commit data...
en_MP Loading commit data...
en_MS Loading commit data...
en_MT Loading commit data...
en_MU Loading commit data...
en_MW Loading commit data...
en_MY Loading commit data...
en_NA Loading commit data...
en_NF Loading commit data...
en_NG Loading commit data...
en_NL Loading commit data...
en_NR Loading commit data...
en_NU Loading commit data...
en_NZ Loading commit data...
en_PG Loading commit data...
en_PH Loading commit data...
en_PK Loading commit data...
en_PN Loading commit data...
en_PR Loading commit data...
en_PW Loading commit data...
en_RW Loading commit data...
en_SB Loading commit data...
en_SC Loading commit data...
en_SD Loading commit data...
en_SE Loading commit data...
en_SG Loading commit data...
en_SH Loading commit data...
en_SI Loading commit data...
en_SL Loading commit data...
en_SS Loading commit data...
en_SX Loading commit data...
en_SZ Loading commit data...
en_TC Loading commit data...
en_TK Loading commit data...
en_TO Loading commit data...
en_TT Loading commit data...
en_TV Loading commit data...
en_TZ Loading commit data...
en_UG Loading commit data...
en_UM Loading commit data...
en_US Loading commit data...
en_US_POSIX Loading commit data...
en_VC Loading commit data...
en_VG Loading commit data...
en_VI Loading commit data...
en_VU Loading commit data...
en_WS Loading commit data...
en_ZA Loading commit data...
en_ZM Loading commit data...
en_ZW Loading commit data...
eo Loading commit data...
eo_001 Loading commit data...
es Loading commit data...
es_419 Loading commit data...
es_AR Loading commit data...
es_BO Loading commit data...
es_BR Loading commit data...
es_CL Loading commit data...
es_CO Loading commit data...
es_CR Loading commit data...
es_CU Loading commit data...
es_DO Loading commit data...
es_EA Loading commit data...
es_EC Loading commit data...
es_ES Loading commit data...
es_GQ Loading commit data...
es_GT Loading commit data...
es_HN Loading commit data...
es_IC Loading commit data...
es_MX Loading commit data...
es_NI Loading commit data...
es_PA Loading commit data...
es_PE Loading commit data...
es_PH Loading commit data...
es_PR Loading commit data...
es_PY Loading commit data...
es_SV Loading commit data...
es_US Loading commit data...
es_UY Loading commit data...
es_VE Loading commit data...
et Loading commit data...
et_EE Loading commit data...
eu Loading commit data...
eu_ES Loading commit data...
ewo Loading commit data...
ewo_CM Loading commit data...
fa Loading commit data...
fa_AF Loading commit data...
fa_IR Loading commit data...
ff Loading commit data...
ff_CM Loading commit data...
ff_GN Loading commit data...
ff_MR Loading commit data...
ff_SN Loading commit data...
fi Loading commit data...
fi_FI Loading commit data...
fil Loading commit data...
fil_PH Loading commit data...
fo Loading commit data...
fo_DK Loading commit data...
fo_FO Loading commit data...
fr Loading commit data...
fr_BE Loading commit data...
fr_BF Loading commit data...
fr_BI Loading commit data...
fr_BJ Loading commit data...
fr_BL Loading commit data...
fr_CA Loading commit data...
fr_CD Loading commit data...
fr_CF Loading commit data...
fr_CG Loading commit data...
fr_CH Loading commit data...
fr_CI Loading commit data...
fr_CM Loading commit data...
fr_DJ Loading commit data...
fr_DZ Loading commit data...
fr_FR Loading commit data...
fr_GA Loading commit data...
fr_GF Loading commit data...
fr_GN Loading commit data...
fr_GP Loading commit data...
fr_GQ Loading commit data...
fr_HT Loading commit data...
fr_KM Loading commit data...
fr_LU Loading commit data...
fr_MA Loading commit data...
fr_MC Loading commit data...
fr_MF Loading commit data...
fr_MG Loading commit data...
fr_ML Loading commit data...
fr_MQ Loading commit data...
fr_MR Loading commit data...
fr_MU Loading commit data...
fr_NC Loading commit data...
fr_NE Loading commit data...
fr_PF Loading commit data...
fr_PM Loading commit data...
fr_RE Loading commit data...
fr_RW Loading commit data...
fr_SC Loading commit data...
fr_SN Loading commit data...
fr_SY Loading commit data...
fr_TD Loading commit data...
fr_TG Loading commit data...
fr_TN Loading commit data...
fr_VU Loading commit data...
fr_WF Loading commit data...
fr_YT Loading commit data...
fur Loading commit data...
fur_IT Loading commit data...
fy Loading commit data...
fy_NL Loading commit data...
ga Loading commit data...
ga_IE Loading commit data...
gd Loading commit data...
gd_GB Loading commit data...
gl Loading commit data...
gl_ES Loading commit data...
gsw Loading commit data...
gsw_CH Loading commit data...
gsw_FR Loading commit data...
gsw_LI Loading commit data...
gu Loading commit data...
gu_IN Loading commit data...
guz Loading commit data...
guz_KE Loading commit data...
gv Loading commit data...
gv_IM Loading commit data...
ha Loading commit data...
ha_GH Loading commit data...
ha_NE Loading commit data...
ha_NG Loading commit data...
haw Loading commit data...
haw_US Loading commit data...
he Loading commit data...
he_IL Loading commit data...
hi Loading commit data...
hi_IN Loading commit data...
hr Loading commit data...
hr_BA Loading commit data...
hr_HR Loading commit data...
hsb Loading commit data...
hsb_DE Loading commit data...
hu Loading commit data...
hu_HU Loading commit data...
hy Loading commit data...
hy_AM Loading commit data...
id Loading commit data...
id_ID Loading commit data...
ig Loading commit data...
ig_NG Loading commit data...
ii Loading commit data...
ii_CN Loading commit data...
is Loading commit data...
is_IS Loading commit data...
it Loading commit data...
it_CH Loading commit data...
it_IT Loading commit data...
it_SM Loading commit data...
ja Loading commit data...
ja_JP Loading commit data...
jgo Loading commit data...
jgo_CM Loading commit data...
jmc Loading commit data...
jmc_TZ Loading commit data...
ka Loading commit data...
ka_GE Loading commit data...
kab Loading commit data...
kab_DZ Loading commit data...
kam Loading commit data...
kam_KE Loading commit data...
kde Loading commit data...
kde_TZ Loading commit data...
kea Loading commit data...
kea_CV Loading commit data...
khq Loading commit data...
khq_ML Loading commit data...
ki Loading commit data...
ki_KE Loading commit data...
kk Loading commit data...
kk_KZ Loading commit data...
kkj Loading commit data...
kkj_CM Loading commit data...
kl Loading commit data...
kl_GL Loading commit data...
kln Loading commit data...
kln_KE Loading commit data...
km Loading commit data...
km_KH Loading commit data...
kn Loading commit data...
kn_IN Loading commit data...
ko Loading commit data...
ko_KP Loading commit data...
ko_KR Loading commit data...
kok Loading commit data...
kok_IN Loading commit data...
ks Loading commit data...
ks_IN Loading commit data...
ksb Loading commit data...
ksb_TZ Loading commit data...
ksf Loading commit data...
ksf_CM Loading commit data...
ksh Loading commit data...
ksh_DE Loading commit data...
kw Loading commit data...
kw_GB Loading commit data...
ky Loading commit data...
ky_KG Loading commit data...
lag Loading commit data...
lag_TZ Loading commit data...
lb Loading commit data...
lb_LU Loading commit data...
lg Loading commit data...
lg_UG Loading commit data...
lkt Loading commit data...
lkt_US Loading commit data...
ln Loading commit data...
ln_AO Loading commit data...
ln_CD Loading commit data...
ln_CF Loading commit data...
ln_CG Loading commit data...
lo Loading commit data...
lo_LA Loading commit data...
lrc Loading commit data...
lrc_IQ Loading commit data...
lrc_IR Loading commit data...
lt Loading commit data...
lt_LT Loading commit data...
lu Loading commit data...
lu_CD Loading commit data...
luo Loading commit data...
luo_KE Loading commit data...
luy Loading commit data...
luy_KE Loading commit data...
lv Loading commit data...
lv_LV Loading commit data...
mas Loading commit data...
mas_KE Loading commit data...
mas_TZ Loading commit data...
mer Loading commit data...
mer_KE Loading commit data...
mfe Loading commit data...
mfe_MU Loading commit data...
mg Loading commit data...
mg_MG Loading commit data...
mgh Loading commit data...
mgh_MZ Loading commit data...
mgo Loading commit data...
mgo_CM Loading commit data...
mk Loading commit data...
mk_MK Loading commit data...
ml Loading commit data...
ml_IN Loading commit data...
mn Loading commit data...
mn_MN Loading commit data...
mr Loading commit data...
mr_IN Loading commit data...
ms Loading commit data...
ms_BN Loading commit data...
ms_MY Loading commit data...
ms_SG Loading commit data...
mt Loading commit data...
mt_MT Loading commit data...
mua Loading commit data...
mua_CM Loading commit data...
my Loading commit data...
my_MM Loading commit data...
mzn Loading commit data...
mzn_IR Loading commit data...
naq Loading commit data...
naq_NA Loading commit data...
nb Loading commit data...
nb_NO Loading commit data...
nb_SJ Loading commit data...
nd Loading commit data...
nd_ZW Loading commit data...
nds Loading commit data...
nds_DE Loading commit data...
nds_NL Loading commit data...
ne Loading commit data...
ne_IN Loading commit data...
ne_NP Loading commit data...
nl Loading commit data...
nl_AW Loading commit data...
nl_BE Loading commit data...
nl_BQ Loading commit data...
nl_CW Loading commit data...
nl_NL Loading commit data...
nl_SR Loading commit data...
nl_SX Loading commit data...
nmg Loading commit data...
nmg_CM Loading commit data...
nn Loading commit data...
nn_NO Loading commit data...
nnh Loading commit data...
nnh_CM Loading commit data...
nus Loading commit data...
nus_SS Loading commit data...
nyn Loading commit data...
nyn_UG Loading commit data...
om Loading commit data...
om_ET Loading commit data...
om_KE Loading commit data...
or Loading commit data...
or_IN Loading commit data...
os Loading commit data...
os_GE Loading commit data...
os_RU Loading commit data...
pa Loading commit data...
pa_Arab Loading commit data...
pa_Arab_PK Loading commit data...
pa_Guru Loading commit data...
pa_Guru_IN Loading commit data...
pl Loading commit data...
pl_PL Loading commit data...
prg Loading commit data...
prg_001 Loading commit data...
ps Loading commit data...
ps_AF Loading commit data...
pt Loading commit data...
pt_AO Loading commit data...
pt_BR Loading commit data...
pt_CH Loading commit data...
pt_CV Loading commit data...
pt_GQ Loading commit data...
pt_GW Loading commit data...
pt_LU Loading commit data...
pt_MO Loading commit data...
pt_MZ Loading commit data...
pt_PT Loading commit data...
pt_ST Loading commit data...
pt_TL Loading commit data...
qu Loading commit data...
qu_BO Loading commit data...
qu_EC Loading commit data...
qu_PE Loading commit data...
rm Loading commit data...
rm_CH Loading commit data...
rn Loading commit data...
rn_BI Loading commit data...
ro Loading commit data...
ro_MD Loading commit data...
ro_RO Loading commit data...
rof Loading commit data...
rof_TZ Loading commit data...
root Loading commit data...
ru Loading commit data...
ru_BY Loading commit data...
ru_KG Loading commit data...
ru_KZ Loading commit data...
ru_MD Loading commit data...
ru_RU Loading commit data...
ru_UA Loading commit data...
rw Loading commit data...
rw_RW Loading commit data...
rwk Loading commit data...
rwk_TZ Loading commit data...
sah Loading commit data...
sah_RU Loading commit data...
saq Loading commit data...
saq_KE Loading commit data...
sbp Loading commit data...
sbp_TZ Loading commit data...
se Loading commit data...
se_FI Loading commit data...
se_NO Loading commit data...
se_SE Loading commit data...
seh Loading commit data...
seh_MZ Loading commit data...
ses Loading commit data...
ses_ML Loading commit data...
sg Loading commit data...
sg_CF Loading commit data...
shi Loading commit data...
shi_Latn Loading commit data...
shi_Latn_MA Loading commit data...
shi_Tfng Loading commit data...
shi_Tfng_MA Loading commit data...
si Loading commit data...
si_LK Loading commit data...
sk Loading commit data...
sk_SK Loading commit data...
sl Loading commit data...
sl_SI Loading commit data...
smn Loading commit data...
smn_FI Loading commit data...
sn Loading commit data...
sn_ZW Loading commit data...
so Loading commit data...
so_DJ Loading commit data...
so_ET Loading commit data...
so_KE Loading commit data...
so_SO Loading commit data...
sq Loading commit data...
sq_AL Loading commit data...
sq_MK Loading commit data...
sq_XK Loading commit data...
sr Loading commit data...
sr_Cyrl Loading commit data...
sr_Cyrl_BA Loading commit data...
sr_Cyrl_ME Loading commit data...
sr_Cyrl_RS Loading commit data...
sr_Cyrl_XK Loading commit data...
sr_Latn Loading commit data...
sr_Latn_BA Loading commit data...
sr_Latn_ME Loading commit data...
sr_Latn_RS Loading commit data...
sr_Latn_XK Loading commit data...
sv Loading commit data...
sv_AX Loading commit data...
sv_FI Loading commit data...
sv_SE Loading commit data...
sw Loading commit data...
sw_CD Loading commit data...
sw_KE Loading commit data...
sw_TZ Loading commit data...
sw_UG Loading commit data...
ta Loading commit data...
ta_IN Loading commit data...
ta_LK Loading commit data...
ta_MY Loading commit data...
ta_SG Loading commit data...
te Loading commit data...
te_IN Loading commit data...
teo Loading commit data...
teo_KE Loading commit data...
teo_UG Loading commit data...
th Loading commit data...
th_TH Loading commit data...
ti Loading commit data...
ti_ER Loading commit data...
ti_ET Loading commit data...
tk Loading commit data...
tk_TM Loading commit data...
to Loading commit data...
to_TO Loading commit data...
tr Loading commit data...
tr_CY Loading commit data...
tr_TR Loading commit data...
twq Loading commit data...
twq_NE Loading commit data...
tzm Loading commit data...
tzm_MA Loading commit data...
ug Loading commit data...
ug_CN Loading commit data...
uk Loading commit data...
uk_UA Loading commit data...
ur Loading commit data...
ur_IN Loading commit data...
ur_PK Loading commit data...
uz Loading commit data...
uz_Arab Loading commit data...
uz_Arab_AF Loading commit data...
uz_Cyrl Loading commit data...
uz_Cyrl_UZ Loading commit data...
uz_Latn Loading commit data...
uz_Latn_UZ Loading commit data...
vai Loading commit data...
vai_Latn Loading commit data...
vai_Latn_LR Loading commit data...
vai_Vaii Loading commit data...
vai_Vaii_LR Loading commit data...
vi Loading commit data...
vi_VN Loading commit data...
vo Loading commit data...
vo_001 Loading commit data...
vun Loading commit data...
vun_TZ Loading commit data...
wae Loading commit data...
wae_CH Loading commit data...
xog Loading commit data...
xog_UG Loading commit data...
yav Loading commit data...
yav_CM Loading commit data...
yi Loading commit data...
yi_001 Loading commit data...
yo Loading commit data...
yo_BJ Loading commit data...
yo_NG Loading commit data...
yue Loading commit data...
yue_HK Loading commit data...
zgh Loading commit data...
zgh_MA Loading commit data...
zh Loading commit data...
zh_Hans Loading commit data...
zh_Hans_CN Loading commit data...
zh_Hans_HK Loading commit data...
zh_Hans_MO Loading commit data...
zh_Hans_SG Loading commit data...
zh_Hant Loading commit data...
zh_Hant_HK Loading commit data...
zh_Hant_MO Loading commit data...
zh_Hant_TW Loading commit data...
zu Loading commit data...
zu_ZA Loading commit data...
.gitignore Loading commit data...
LICENSE Loading commit data...
README.md Loading commit data...
logo.png Loading commit data...
rules.go Loading commit data...

locales

Project status Build Status Go Report Card GoDoc License Gitter

Locales is a set of locales generated from the Unicode CLDR Project which can be used independently or within an i18n package; these were built for use with, but not exclusive to, Universal Translator.

Features

  • Rules generated from the latest CLDR data, v30.0.3
  • Contains Cardinal, Ordinal and Range Plural Rules
  • Contains Month, Weekday and Timezone translations built in
  • Contains Date & Time formatting functions
  • Contains Number, Currency, Accounting and Percent formatting functions
  • Supports the "Gregorian" calendar only ( my time isn't unlimited, had to draw the line somewhere )

Full Tests

I could sure use your help adding tests for every locale, it is a huge undertaking and I just don't have the free time to do it all at the moment; any help would be greatly appreciated!!!! please see issue for details.

Installation

Use go get

go get github.com/go-playground/locales

NOTES

You'll notice most return types are []byte, this is because most of the time the results will be concatenated with a larger body of text and can avoid some allocations if already appending to a byte array, otherwise just cast as string.

Usage

package main

import (
    "fmt"
    "time"

    "github.com/go-playground/locales/currency"
    "github.com/go-playground/locales/en_CA"
)

func main() {

    loc, _ := time.LoadLocation("America/Toronto")
    datetime := time.Date(2016, 02, 03, 9, 0, 1, 0, loc)

    l := en_CA.New()

    // Dates
    fmt.Println(l.FmtDateFull(datetime))
    fmt.Println(l.FmtDateLong(datetime))
    fmt.Println(l.FmtDateMedium(datetime))
    fmt.Println(l.FmtDateShort(datetime))

    // Times
    fmt.Println(l.FmtTimeFull(datetime))
    fmt.Println(l.FmtTimeLong(datetime))
    fmt.Println(l.FmtTimeMedium(datetime))
    fmt.Println(l.FmtTimeShort(datetime))

    // Months Wide
    fmt.Println(l.MonthWide(time.January))
    fmt.Println(l.MonthWide(time.February))
    fmt.Println(l.MonthWide(time.March))
    // ...

    // Months Abbreviated
    fmt.Println(l.MonthAbbreviated(time.January))
    fmt.Println(l.MonthAbbreviated(time.February))
    fmt.Println(l.MonthAbbreviated(time.March))
    // ...

    // Months Narrow
    fmt.Println(l.MonthNarrow(time.January))
    fmt.Println(l.MonthNarrow(time.February))
    fmt.Println(l.MonthNarrow(time.March))
    // ...

    // Weekdays Wide
    fmt.Println(l.WeekdayWide(time.Sunday))
    fmt.Println(l.WeekdayWide(time.Monday))
    fmt.Println(l.WeekdayWide(time.Tuesday))
    // ...

    // Weekdays Abbreviated
    fmt.Println(l.WeekdayAbbreviated(time.Sunday))
    fmt.Println(l.WeekdayAbbreviated(time.Monday))
    fmt.Println(l.WeekdayAbbreviated(time.Tuesday))
    // ...

    // Weekdays Short
    fmt.Println(l.WeekdayShort(time.Sunday))
    fmt.Println(l.WeekdayShort(time.Monday))
    fmt.Println(l.WeekdayShort(time.Tuesday))
    // ...

    // Weekdays Narrow
    fmt.Println(l.WeekdayNarrow(time.Sunday))
    fmt.Println(l.WeekdayNarrow(time.Monday))
    fmt.Println(l.WeekdayNarrow(time.Tuesday))
    // ...

    var f64 float64

    f64 = -10356.4523

    // Number
    fmt.Println(l.FmtNumber(f64, 2))

    // Currency
    fmt.Println(l.FmtCurrency(f64, 2, currency.CAD))
    fmt.Println(l.FmtCurrency(f64, 2, currency.USD))

    // Accounting
    fmt.Println(l.FmtAccounting(f64, 2, currency.CAD))
    fmt.Println(l.FmtAccounting(f64, 2, currency.USD))

    f64 = 78.12

    // Percent
    fmt.Println(l.FmtPercent(f64, 0))

    // Plural Rules for locale, so you know what rules you must cover
    fmt.Println(l.PluralsCardinal())
    fmt.Println(l.PluralsOrdinal())

    // Cardinal Plural Rules
    fmt.Println(l.CardinalPluralRule(1, 0))
    fmt.Println(l.CardinalPluralRule(1.0, 0))
    fmt.Println(l.CardinalPluralRule(1.0, 1))
    fmt.Println(l.CardinalPluralRule(3, 0))

    // Ordinal Plural Rules
    fmt.Println(l.OrdinalPluralRule(21, 0)) // 21st
    fmt.Println(l.OrdinalPluralRule(22, 0)) // 22nd
    fmt.Println(l.OrdinalPluralRule(33, 0)) // 33rd
    fmt.Println(l.OrdinalPluralRule(34, 0)) // 34th

    // Range Plural Rules
    fmt.Println(l.RangePluralRule(1, 0, 1, 0)) // 1-1
    fmt.Println(l.RangePluralRule(1, 0, 2, 0)) // 1-2
    fmt.Println(l.RangePluralRule(5, 0, 8, 0)) // 5-8
}

NOTES:

These rules were generated from the Unicode CLDR Project, if you encounter any issues I strongly encourage contributing to the CLDR project to get the locale information corrected and the next time these locales are regenerated the fix will come with.

I do however realize that time constraints are often important and so there are two options:

  1. Create your own locale, copy, paste and modify, and ensure it complies with the Translator interface.
  2. Add an exception in the locale generation code directly and once regenerated, fix will be in place.

Please to not make fixes inside the locale files, they WILL get overwritten when the locales are regenerated.

License

Distributed under MIT License, please see license file in code for more details.